期望深层属性具有多个值中的任何一个

ale*_*cxe 4 javascript testing assertions chai

Chai断言库中,我们可以断言存在的深层属性并具有值:

expect(obj).to.have.deep.property("field1.field2", 1);
Run Code Online (Sandbox Code Playgroud)

但是,如果我们需要断言该属性具有多个值之一怎么办?在这种情况下,如果obj具有的field1.field2属性值为0或1或2 ,则测试应通过。


仅供参考,我需要检查ESLint插件是否带有推荐的规则配置,该配置为每个规则配置了“警告级别”。警告级别可以是0、1或2个值。

rob*_*lep 5

您可以使用.oneOf()

expect(obj).to.have.deep.property('field1.field2').that.is.oneOf([ 0, 1, 2 ])
Run Code Online (Sandbox Code Playgroud)

.within()

expect(obj).to.have.deep.property('field1.field2').that.is.within(0, 2)
Run Code Online (Sandbox Code Playgroud)