You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Chai的expect断言判断数组是否全为true?

解决方案:用Chai的expect断言布尔数组全为true

不需要手动构建对应长度的全true数组,有几种简洁的方式实现:

方法一:利用数组原生every方法

直接调用数组的every方法检查所有元素是否为true,再断言这个检查结果为true:

expect(result.every(item => item === true)).to.be.true;

如果数组里有任何一个false或者非预期值(比如undefined、null),every都会返回false,断言就会失败,符合需求。

方法二:使用Chai的satisfy方法

Chai的satisfy方法允许传入自定义校验函数,直接对目标数组进行断言,可读性更强:

expect(result).to.satisfy(arr => arr.every(item => item === true));

补充:严格校验元素类型(可选)

如果需要确保数组里的元素都是布尔类型的true(排除1这种会被隐式转为true的值),可以在校验函数里加上类型判断:

expect(result).to.satisfy(arr => arr.every(item => typeof item === 'boolean' && item === true));

内容的提问来源于stack exchange,提问作者Dzianis Czaplia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 04:45:44