Jestjs Jest测试抛出类型错误:(0,_diff.structuredPatch)不是函数
我对reactjs项目使用jest测试。当我评估两个不同的对象时,测试失败,但它没有显示比较,而是抛出一个错误 对于字符串,它可以正常工作,但当我计算对象时,它只会抛出以下错误:Jestjs Jest测试抛出类型错误:(0,_diff.structuredPatch)不是函数,jestjs,Jestjs,我对reactjs项目使用jest测试。当我评估两个不同的对象时,测试失败,但它没有显示比较,而是抛出一个错误 对于字符串,它可以正常工作,但当我计算对象时,它只会抛出以下错误: TypeError: (0 , _diff.structuredPatch) is not a function 图书馆: 笑话:22.4.2 操作系统:Windows 节点:8.9.4 示例测试: test('test', () => { const objectA = { foo
TypeError: (0 , _diff.structuredPatch) is not a function
图书馆:
- 笑话:22.4.2
test('test', () => {
const objectA = {
foo: 'bar'
};
const objectB = {
bar: 'foo'
};
expect(objectA).toEqual(objectB);
});
任何帮助都将不胜感激:)
问候
Cornel请验证
node\u模块/jest matcher utils
的版本是否与node\u模块/jest
的版本匹配
在我的例子中,相同问题的原因是冲突的包,这取决于不同版本的jest
包(24.x
vs26.x
)。在我的例子中,它是《开玩笑的串行运行程序》:
"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",
...
}
“开发依赖性”:{
...
“ts笑话”:“^26.5.3”,
“笑话”:“^26.6.3”,
“jest serial runner”:“^1.1.0”,如果你不使用enzyme to json
模块会发生什么?你能不能安装ComplexComponent
,例如,find
那里的某个DOM节点?我只是认为可能是enzyme to json
问题,而不是expect
。例如expect(wrapper.find('button')).toHaveLength(1)
可以工作(假设您的ComplexComponent
中有一个按钮)。这些断言确实有效:)只有当我将更复杂的javascript对象传递到expect/toEqual/toMatchSnapShot函数时,它才会失效,而不是组件代码中的差异……你能用简单和复杂的组件更新问题吗?更新。我删除了所有与酶和反应相关的代码,问题仍然存在