我目前正在查询包含类别的数据库文档:foo或bar。但是我发现很难对此进行测试。
以下是我要测试的数组示例:
var array = [
{category: ['foo'] },
{category: ['foo', 'bar'] },
{category: ['foo'] }
];
expect(array[0].category).to.include.any.members(['foo', 'bar']);
然而,它似乎无法正常工作,它会查找每个成员是否存在。 我希望测试能够检查数组的每个元素以包含foo OR bar。
答案 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/);
});
});