nodejs与差异深度相等

foo*_*ode 6 unit-testing node.js

是否有一个断言库,它会告诉我深度比较时两个对象之间的差异是什么?

我尝试过使用柴,但它只是告诉我对象不同但不在哪里.节点断言同样的事情....

Ell*_*ter 2

使用 chai 1.5.0 和 mocha 1.8.1,以下内容对我有用:

\n\n
var expect = require(\'chai\').expect;\n\nit("shows a diff of arrays", function() {\n  expect([1,2,3]).to.deep.equal([1,2,3, {}]);\n});\n\nit("shows a diff of objects", function() {\n  expect({foo: "bar"}).to.deep.equal({foo: "bar", baz: "bub"});\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

结果是:

\n\n
\xe2\x9c\x96 2 of 2 tests failed:\n\n1)  shows a diff of arrays:\n\n  actual expected\n\n  1 | [\n  2 |   1,\n  3 |   2,\n  4 |   3,\n  5 |   {}\n  6 | ]\n\n2)  shows a diff of objects:\n\n  actual expected\n\n  {\n    "foo": "bar",\n    "baz": "bub"\n  }\n
Run Code Online (Sandbox Code Playgroud)\n\n

这里没有显示的是,输出在意外/缺失的行处突出显示为红色/绿色。

\n