我正在编写一个自定义 Jest 匹配器来以某种任意方式比较对象:
expect.extend({
toTorgle(received, expected) {
...
return {
pass: false,
message: () => "expect(received).toTorgle(expected):" + ???
}
}
})
Run Code Online (Sandbox Code Playgroud)
如何打印两个对象之间的良好对象差异,就像我使用(内置匹配器)获得的对象一样expect(received).toEqual(expected)?
根据Jest-Platform document,您可以使用jest-diff来获取一个“打印精美”的字符串,说明两个参数之间的差异。
你的message函数将变成:
const { diff } = require('jest-diff'); // already available if Jest is installed
// ...
message: () => "expect(received).toTorgle(expected):" + diff(expected, received),
Run Code Online (Sandbox Code Playgroud)
默认情况下,第一个参数为diff()labeled Expected,第二个参数为labeled Received。这可以通过提供选项作为第三个参数来更改。请参阅选项文档。
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |