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

Expect deep property to have any of multiple values

Chai assertion library中,我们可以断言一个深属性存在并且有一个值:

expect(obj).to.have.deep.property("field1.field2", 1);

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


仅供参考,我需要这个来检查 ESLint 插件是否带有推荐的规则配置,该配置为每个规则配置了 "warning level"。 Warning level 可以是 0、1 或 2 个值。

您可以使用 .oneOf():

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

.within():

expect(obj).to.have.deep.property('field1.field2').that.is.within(0, 2)