单元测试python数据类型-测试失败“ Expected:NaT Actual:NaT”

时间:2019-08-04 00:54:29

标签: python unit-testing python-unittest

我正在介绍使用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

您如何测试数据类型?

1 个答案:

答案 0 :(得分:0)

NaN和NaT明显不相等。

您可以通过以交互方式运行python并输入以下命令来进行测试:

import pandas as pd
pd.NaT == pd.NaT

类似

pd.NaN == pd.NaN

您可以使用以下方式显式测试NaN和NaT:

pd.isna(pd.NaT)
相关问题