javascript - 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: 我已更新问题标题,以防止参考此类问题将我的问题标记为重复: 检查数组的所有值是否相等
解决方案
您可以使用该every()
方法。
const arrayFromApiResponse = [ "apple", "apple", "apple", "apple", "apple", "apple", ]
const expectedFruit = "apple"
const allAreExpectedFruit = arrayFromApiResponse.every(x => x === expectedFruit);
console.log(allAreExpectedFruit);
推荐阅读
- python - 当条件为真时从列中获取值的代码
- c# - 在 Assert.Multiple 中验证模拟
- flutter - 显示/隐藏(淡出)按钮用于点击
- javascript - REACTJS如何在超时结束时加载页面?
- javascript - 如何在拖动滑块时实时获取范围滑块的值?
- c# - 使用 Roslyn 确定 BinaryExpression 是否为算术表达式
- android - 无法通过按 Android 设备的后退键按钮关闭 Admob 插页式广告
- android - 间歇性 SSLHandshakeException 使用 OKHttp 调用 GET
- html - 为什么我的 ::before 样式显示在 ::after 位置?
- cross-domain - 跨域跟踪,我的 google 跟踪代码管理器 [装饰表单 = True] 它不起作用