javascript - Mocha 和应该断言并没有按预期工作

标签 javascript mocha.js should.js

我使用 Mocha 和 should 作为 Node js 模块的测试框架。 到目前为止它工作正常,现在我需要断言两个对象相等。 我收到错误(测试失败),而对象相同(我使用 webStorm 10)并且 Diff 窗口显示两个对象并且它们相同(我还在 diff 窗口中看到消息内容相同...)

它可能是什么,有办法解决这个问题吗?

我尝试了两个都失败了

should(inObjBefore).be.exactly({env: outObjAfter});

 inObjBefore.should.be.exactly({ env: outObjAfter});

最佳答案

exactly 使用严格相等进行精确比较,即 ===。 在 javascript 中,对象是通过引用存储的,而不是通过值存储的。因此,当比较两个对象时,只有当它们具有相同的引用时,它们才会彼此相等:

var a = {
  x: 10
};

a === a // true
a === { x: 10 } // false

因此,您要么需要与同一对象进行比较,要么可以使用deepEqual

关于javascript - Mocha 和应该断言并没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32128608/

相关文章:

javascript - Express:下载返回空文件

javascript - "readyState === ' Interactive' "and "Jquery.ready() 之间的差异

javascript - 支持 es6 模块的正确设置是什么?

javascript - 通过 <a> 链接渲染其他组件

javascript - $rootScope 未在简单的 AngularJs 路由示例中呈现

node.js - 使用 Mocha 测试 locomotive.js

javascript - Mocha 如何执行 'it' 调用?如何同步执行测试?

javascript - 使用自定义函数扩展 should.js

mocha.js - Chai Mocha : Identify should assertion

javascript - 不应该按预期工作