柴深等于不工作

时间:2017-11-17 12:50:09

标签: javascript unit-testing chai

我试图使用Chai,但由于某些原因我无法进行深度平等比较。

这是最低限度的例子

var chai = require('chai');
var expect = chai.expect;
...


expect({
    test: {a:2}
    }).to.have.deep.property('test', {a:2});

生成此输出

AssertionError: expected { test: { a: 2 } } to have a deep property 'test' of { a: 2 }, but got { a: 2 }

我使用的是Chai 3.5.0,并希望这个断言是真的。

2 个答案:

答案 0 :(得分:2)

您必须升级到更新版本的Chai。此功能在Chai 4中引入,请参阅4.x.x Complete Migration Guide

答案 1 :(得分:1)

对于版本4.0.0,他们改变了' .have.deep'的行为。 你可以在这里看到发行说明

chai releases 4.0.0

如果有可能,我建议你更新柴。