如何在 Jest 自定义匹配器中打印漂亮的对象差异?
How can I print a pretty object diff in a Jest custom matcher?
我正在编写自定义 Jest 匹配器以任意方式比较对象:
expect.extend({
toTorgle(received, expected) {
...
return {
pass: false,
message: () => "expect(received).toTorgle(expected):" + ???
}
}
})
如何在两个对象之间打印一个漂亮的对象差异,就像我使用(内置匹配器)得到的对象 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(received, expected),
我正在编写自定义 Jest 匹配器以任意方式比较对象:
expect.extend({
toTorgle(received, expected) {
...
return {
pass: false,
message: () => "expect(received).toTorgle(expected):" + ???
}
}
})
如何在两个对象之间打印一个漂亮的对象差异,就像我使用(内置匹配器)得到的对象 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(received, expected),