如何使用 Chai 检查值是否在对象中?

Pav*_* S. 4 javascript unit-testing object assertions chai

是否可以使用 Chai 断言库测试某个数组中包含的值?

例子:

var myObject = {
    a : 1,
    b : 2,
    c : 3
};
var myValue = 2;
Run Code Online (Sandbox Code Playgroud)

我需要做这样的事情(但它不起作用):

expect(myObject).values.to.contain(myValue);
//Error: Cannot read property 'to' of undefined

expect(myObject).to.contain(myValue);
//Error: Object #<Object> has no method 'indexOf'
Run Code Online (Sandbox Code Playgroud)

我该如何测试?

小智 11

或者,如果您想检查该值以及您可以执行的属性

expect(myObject).to.have.property('b', myValue);
Run Code Online (Sandbox Code Playgroud)

您不需要此检查的插件。


And*_*rle 2

chai fuzzy 插件具有您需要的功能。

var myObject = {
    a : 1,
    b : 2,
    c : 3
};
var myValue = 2;
myObject.should.containOneLike(myValue);
Run Code Online (Sandbox Code Playgroud)