我对reactjs项目使用jest测试。当我评估两个不同的对象时,测试失败,但它不会显示比较,而只是抛出一个错误。
对于字符串,它工作正常,但是当我评估对象时,它只会抛出以下错误:
TypeError: (0 , _diff.structuredPatch) is not a function
库:
os:Windows
节点:8.9.4
示例测试:
test('test', () => {
const objectA = {
foo: 'bar'
};
const objectB = {
bar: 'foo'
};
expect(objectA).toEqual(objectB);
});
任何帮助将不胜感激:)
此致 茱萸
答案 0 :(得分:0)
请确认 node_modules/jest-matcher-utils
的版本与 node_modules/jest
的版本匹配。
就我而言,相同问题的原因是包冲突,这取决于 jest
包的不同版本(24.x
与 26.x
)。就我而言,它是 jest-serial-runner
:
"devDependencies": {
...
"ts-jest": "^26.5.3",
"jest": "^26.6.3",
"jest-serial-runner": "^1.1.0", <--- depends on jest 24.x
"eslint-plugin-jest": "^24.1.3",
...
}