我正在介绍使用unittest
模块进行python数据管道的单元测试。
数据类对象示例:
class IsAvailable(Object)
employee_id: int = Property()
start_time: str = Property()
单元测试用例:
class TestIsAvailable(TestCase):
def setUp(self):
self.employee = pd.read_json('employee_leave.json', orient='records')
self.isAvailable = IsAvailable()
self.isAvailable.id = self.employee['start_time'][0]
def test_is_available_all_day_001(self):
assert self.isAvailable.start_time == pd.NaT
测试结果:
self = <tests.test_nodes.TestIsAvailable testMethod=test_is_available_all_day_001>
def test_is_available_all_day_001(self):
"""test employee is available all day on specific day of the week"""
> assert self.isAvailable.start_time == pd.NaT
E AssertionError: assert NaT == NaT
E + where NaT = <IsAvailable id=1>.start_time
E + where <IsAvailable id=1> = <tests.test_nodes.TestIsAvailable testMethod=test_is_available_all_day_001>.isAvailable
E + and NaT = pd.NaT
您如何测试数据类型?
答案 0 :(得分:0)
NaN和NaT明显不相等。
您可以通过以交互方式运行python并输入以下命令来进行测试:
import pandas as pd
pd.NaT == pd.NaT
类似
pd.NaN == pd.NaN
您可以使用以下方式显式测试NaN和NaT:
pd.isna(pd.NaT)