柴数组以包含任何成员

Chai Array to contain any member?

本文关键字:成员 何成员 数组 包含任      更新时间:2023-09-26

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

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

 var array = [
    {category: ['foo'] }, 
    {category: ['foo', 'bar'] }, 
    {category: ['foo'] }
];
expect(array[0].category).to.include.any.members(['foo', 'bar']);

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

柴中似乎没有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/);
    });
});