在我的测试用例中,我假设如果两个值都是NaN
,那么它们相等。使用unittest
断言表达这一点的方法是什么?下面介绍的两个常见函数都不能处理这种情况。
v1 = np.nan
v2 = np.nan
self.assertEquals(v1, v2)
self.assertTrue(v1 == v2)
目前对我有效的解决方案是在 assertTrue
中使用布尔表达式:
self.assertTrue(v1 == v2 or (np.isnan(v1) and np.isnan(v2))
assertBothNan
,或者如果您始终希望具有该行为,则覆盖assertEquals
。至于如何检查值是否为 NaN,请参考:https://dev59.com/KWQn5IYBdhLWcg3wXGKr - jonrsharpev1==v2
会返回 False。你应该分别检查两个值是否为 NaN,然后编写自己的断言方法。 - toti08