我正在编写一个自定义的 Jest 匹配器来以某种任意方式比较对象:
expect.extend({
toTorgle(received, expected) {
...
return {
pass: false,
message: () => "expect(received).toTorgle(expected):" + ???
}
}
})
如何在两个对象之间打印一个很好的对象差异,就像我得到的那个(内置匹配器)expect(received).toEqual(expected)
?
最佳答案
根据Jest-Platform document , 你可以使用 jest-diff
得到一个“ pretty-print ”的字符串,说明两个参数之间的差异。
您的 message
函数将变为:
const { diff } = require('jest-diff'); // already available if Jest is installed
// ...
message: () => "expect(received).toTorgle(expected):" + diff(received, expected),
关于javascript - 如何在 Jest 自定义匹配器中打印漂亮的对象差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70584871/