我正在尝试使用Jest创建一个单元测试,以确保我的名为values
的数组不包含假值。
但出于某些原因,这个测试不起作用 - 测试通过:
const badValues = ['', null, undefined, false, {}, []];
expect(values).toEqual(expect.not.arrayContaining(badValues));
以下代码按预期工作(测试失败),但肯定有一种正确的方法,而不是循环我的值?
for (const value of values) {
expect(value).toBeTruthy();
}
{}
和[]
都不是“falsy”。 - Pointy{}
不是假值,而[]
实际上是假值。在你的浏览器中尝试[] == false
。 - user6269864[] ? alert("truthy") : alert("falsy")
。 - Pointy==
运算符不是测试这一点的好方法。 - Pointy