javascript chai js expect property value空数组

u59ebvdq  于 2023-04-28  发布在  Java
关注(0)|答案(6)|浏览(241)

我正在尝试使用chai js assertion编写一个单元测试,并且想知道如何期望长度为零的数组作为值。
我的测试函数expect语句:

return expect(functionRetuningPromise()).to eventually.have.property("key1", []);

运行mocha时的控制台输出:

AssertionError: expected { otherkey: otherVal, key1: [] } to have a property 'key1' of [], but got []

我试过deep.propertykey1:"[]"没有成功

oknwwptz

oknwwptz1#

我觉得这张更朴素一点

expect( value ).to.be.an( "array" ).that.is.empty
z31licg0

z31licg02#

我忽略了属性Assert中有一部分更改。所以,是什么让它为我工作的是:

return expect(functionRetuningPromise()).to.eventually.have.property("key1").that.eql([]);
vktxenjb

vktxenjb3#

什么事

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;
})
yr9zkbsy

yr9zkbsy4#

这个应该可以了

expect(value).to.deep.equal([]);
ffdz8vbo

ffdz8vbo5#

这里有一个可能的解决方案与chai。jsshould

const should = chai.should();

res.should.have.lengthOf(0)

更多信息链接: www.example.com 网站上。

mm5n2pyu

mm5n2pyu6#

在ChaiJs中,我做以下事情。检查它是否是一个数组并且长度为0。

expect(array).to.be.instanceOf(Array).and.lengthOf(0);

相关问题