gpt4 book ai didi

javascript - 期待几个但不是全部正确

转载 作者:行者123 更新时间:2023-11-28 21:21:02 26 4
gpt4 key购买 nike

假设我有一个数组 arr = [true, false, false, true, false]。我想断言这个数组中正好有两个值是真的。显然,我可以做这样的事情(使用 lodash):

Chai.expect(_.filter(arr, item => item == true)).to.have.length(2)

是否有更 Chai-y 或 Jest-y 的方式来做到这一点?

最佳答案

对此没有专门的方法。需要自定义断言。

最接近的断言方法如下:

这两个选项都不适合,因为你的期望值是一个值类型,上面的函数使用 === 进行比较(它可以改变,至少在 Chai 中,但对我们来说仍然没有区别例)。

// Jest example
describe('arrayContaining', () => {
const expected = [true, true];

it('does not match: not enough `true` values received', () => {
expect([true, false, false]).not.toEqual(expect.arrayContaining(expected));
});

it('does not match: not enough toatl values received', () => {
expect([true]).not.toEqual(expect.arrayContaining(expected));
});
});

上面的两个断言都会失败,这意味着这些断言规则/函数无法发现给定情况下预期值和实际值之间的差异。

关于javascript - 期待几个但不是全部正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com