Chai 有一个很好的方法来断言数组是否包含某个元素
expect([1,2,3]).to.include(2);
给定一个对象数组,我想要的是类似的东西:
expect([{a:1},{b:2}]).to.include({b:2});
这可能吗?
Chai 有一个很好的方法来断言数组是否包含某个元素
expect([1,2,3]).to.include(2);
给定一个对象数组,我想要的是类似的东西:
expect([{a:1},{b:2}]).to.include({b:2});
这可能吗?
这是集合的另一种非顺序依赖方法:
expect([1, 2, 3]).to.include.members([3, 2, 1])
您还可以将其与deep
标志一起使用以比较对象:
expect([{ id: 1 }]).to.deep.include.members([{ id: 1 }]);
expect({foo: 'bar', width: 190, height: 90}).to.include({ height: 90, width: 190 })
看看Chai Things 插件,它可以满足您的需求:
[{a:1},{b:2}].should.include.something.that.deep.equals({b:2})
您可以对对象数组使用 deep 方法。
expect([{a:1},{b:2}]).to.deep.include({b:2}); //It will pass
您可以在这里找到更多使用深度方法的示例:http: //chaijs.com/api/bdd/#method_deep
这里要记住的要点是关于引用类型。