我有一个我想测试的复杂JSON对象。 有没有办法让这个在chai子集中运行,或者这个测试可以通过的替代插件。
var result = {
present: 'Yes',
notPresent: 'No',
examples: ['sam','joe'],
nestedThing: {
nestedAttr: 1,
}
};
var expected = {
present: 'Yes',
nestedThing: {
nestedAttr: 1,
}
examples: [],
}
chai.expect(result).to.containSubset(expected);
我想声明examples
是一个数组,但我不关心数组中有什么(如果有的话)。
奖励积分如果我可以断言它至少有1个项目,但我认为这不太可能。
修改
我可以稍微重组一下expected
,如果它允许它工作的话。例如
var expected = {
...
examples: chai.matcher.isArray(),
}
答案 0 :(得分:0)
我最终选择了chai-shallow-deep-equal,这确实支持了这种行为。 (虽然没有检查阵列的长度,但这是一个长镜头。)
此处示例:https://runkit.com/chrisjensen/subset-match-empty-array
我也created a fork,以便在比赛失败时显示差异。 UPDATE 该分叉已被接受为chai-shallow-deep-equal
initCounter