标签: javascript node.js nan should.js
我认为这是由于特殊值NaN导致的should.js中的一个错误,因为NaN不等于它自己。
({ a: 1, c: 3, b: 2, d: NaN }).should.eql({ a: 1, c: 3, b: 2, d: NaN });
这个测试用例失败了,但似乎非常明显它应该通过。
有关如何处理此测试用例的任何建议?
答案 0 :(得分:2)
NaN的特殊之处在于它与自身不相同。
NaN
> NaN == NaN false
这不是错误。 NaN不等于任何东西。有关详细信息,请参阅MDN。