预期中toContain()的实际用途是什么?

阿迪尔·乔杜里

众所周知,期望被玩笑取代。期望的某些属性也会改变。其中之一是toContain,它被称为toInclude。您将在这里找到它:https : //github.com/skovhus/jest-codemods/blob/master/src/transformers/expect.js

我的问题是当我尝试使用toContain来检查一个对象是否与另一个对象匹配时,它向我显示错误。但是在toInclude之前,它只是一个行代码。因此,作为toInclude的替换,我发现它不同,但不完全相同。

这个数组工作正常。

expect([2,3,4]).toContain(4);

但是当我带着物体去时,这个错误出现了

 expect({
        name : 'Adil',
        age : 23
    }).toContain({
        age : 23
    });

这是错误

Error: expect(object).toContain(value)
Expected object:

{"age": 23, "name": "Adil"}
To contain value:

{"age": 23}
比利·赖利

.toContain用于检查项目是否在数组中

如果要检查对象属性的值,则可以使用.toHaveProperty-这是文档

所以你的例子是

expect({
    name : 'Adil',
    age : 23
}).toHaveProperty('age', 23);

...或者为避免学习其他匹配器,您可以这样做:

expect({
    name : 'Adil',
    age : 23
}.age).toBe(23);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章