我有一个单元测试,其中我的结果和我的预期结果具有值NaN,但当我这样做时
expect(result, expected);
这就是回报
Expected: <NaN>
Actual: <NaN>
我知道这是因为这个原因Why is NaN not equal to NaN?
但是,为了使这两个值相等,有什么方法可以覆盖相等的比较吗?或者其他解决方案呢?
我知道我可以做result.isNaN
,但我用Map
做测试,看起来是这样的
{
'expect': {
2: 2.0,
'2.': 2.0,
'-2.5': -2.5,
'.5': 0.5,
'2020-01-06T14:31:00.135Z': double.nan,
'foo': double.nan,
}
}
其中,我遍历每个键并将值(Expect)与结果进行比较,因此上面的result
和expected
值是动态的,这就是为什么我希望避免只为判断NaN而执行特殊的IF条件