我试图使用chai js断言编写单元测试,并且想知道如何期望长度为零的数组作为值。
我的测试函数期望声明:
return expect(functionRetuningPromise()).to eventually.have.property("key1", []);
运行mocha时的控制台输出:
AssertionError: expected { otherkey: otherVal, key1: [] } to have a property 'key1' of [], but got []
我已尝试deep.property
,key1:"[]"
但没有成功
答案 0 :(得分:6)
我忽略了属性断言的一部分变化。所以,它对我有用的是:
return expect(functionRetuningPromise()).to.eventually.have.property("key1").that.eql([]);
答案 1 :(得分:3)
怎么样?
return
expect(functionRetuningPromise()).to.eventually.have.property("key1").that.satisfy(function (value) {
expect(value).to.be.instanceof(Array);
expect(value).to.have.length.above(0);
return true;
})