1

我相信这是 should.js 中的一个错误,因为 NaN 不等于它本身。

({
    a: 1,
    c: 3,
    b: 2,
    d: NaN
}).should.eql({
    a: 1,
    c: 3,
    b: 2,
    d: NaN
});

这个测试用例失败了,而它应该通过似乎很明显。

关于如何处理这个测试用例的任何建议?

4

1 回答 1

2

NaN特殊之处在于它不等于自身。

> NaN == NaN
false

这不是错误。NaN不等于任何东西。有关更多信息,请参阅MDN

于 2013-09-02T23:08:03.633 回答