Chai Array包含任何成员?

时间:2016-01-30 14:13:03

标签: javascript arrays chai

我目前正在查询包含类别的数据库文档:foo或bar。但是我发现很难对此进行测试。

以下是我要测试的数组示例:

 var array = [
    {category: ['foo'] }, 
    {category: ['foo', 'bar'] }, 
    {category: ['foo'] }
];

expect(array[0].category).to.include.any.members(['foo', 'bar']);

然而,它似乎无法正常工作,它会查找每个成员是否存在。 我希望测试能够检查数组的每个元素以包含foo OR bar。

1 个答案:

答案 0 :(得分:1)

似乎在Chai中没有or方法或类似的东西。

所以我认为你必须像这样遍历你的数组:

var array = [
    {category: ['foo'] }, 
    {category: ['foo', 'bar'] }, 
    {category: ['foo'] }
];

array.forEach(function(item) {
    expect(item).to.have.any.keys('category');

    item.category.forEach(function(catItem) {
        expect(catItem).to.match(/foo|bar/);
    });
});