期望深度属性具有多个值

时间:2016-06-29 17:50:46

标签: javascript testing chai assertions

Chai assertion library中,我们可以声明一个深度属性存在并具有值:

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

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

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

1 个答案:

答案 0 :(得分:4)

您可以使用.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)