Jestjs Jest测试抛出类型错误:(0,_diff.structuredPatch)不是函数

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

我对reactjs项目使用jest测试。当我评估两个不同的对象时,测试失败,但它没有显示比较,而是抛出一个错误

对于字符串,它可以正常工作,但当我计算对象时,它只会抛出以下错误:

TypeError: (0 , _diff.structuredPatch) is not a function
图书馆:

  • 笑话:22.4.2
操作系统:Windows

节点:8.9.4

示例测试:

  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
vs
26.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函数时,它才会失效,而不是组件代码中的差异……你能用简单和复杂的组件更新问题吗?更新。我删除了所有与酶和反应相关的代码,问题仍然存在