Jest测试期望抛出TypeError:(0,_diff.structuredPatch)不是函数

时间:2018-03-18 12:18:28

标签: jestjs

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

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

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

库:

  • jest:22.4.2

os:Windows

节点:8.9.4

示例测试:

  test('test', () => {
    const objectA = {
      foo: 'bar'
    };
    const objectB = {
      bar: 'foo'
    };

    expect(objectA).toEqual(objectB);
  });

任何帮助将不胜感激:)

此致 茱萸

1 个答案:

答案 0 :(得分:0)

请确认 node_modules/jest-matcher-utils 的版本与 node_modules/jest 的版本匹配。

就我而言,相同问题的原因是包冲突,这取决于 jest 包的不同版本(24.x26.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",
    ...
  }