首页 > 解决方案 > Chai - 断言数组中的所有元素都等于给定值

问题描述

我有这个字符串数组:

[ "apple", "apple", "apple", "apple", "apple", "apple", ]

是否可以用 Chai 断言数组中的所有元素都等于某个值?

arrayFromApiResponse = [ "apple", "apple", "apple", "apple", "apple", "apple", ]
expectedFruit = "apple"

expect(arrayFromApiResponse).to ??? 

我需要测试中的每个值arrayFromApiResponse"apple"

我发现了这个https://github.com/chaijs/Chai-Things

似乎有了这个库,它可以像这样完成:

expect(arrayFromApiResponse).should.all.be.a(expectedFruit)

但是是否有可能在没有额外库的情况下实现这一目标?也许我可以进行一些更改,arrayFromApiResponse以便 Chai 对其进行验证?

UPD: 我已更新问题标题,以防止参考此类问题将我的问题标记为重复: 检查数组的所有值是否相等

标签: javascriptautomated-testschai

解决方案


您可以使用该every()方法。

const arrayFromApiResponse = [ "apple", "apple", "apple", "apple", "apple", "apple", ]
const expectedFruit = "apple"

const allAreExpectedFruit = arrayFromApiResponse.every(x => x === expectedFruit);

console.log(allAreExpectedFruit);


推荐阅读