【问题标题】:Jest issue - ReactElement.js: Failed to get mock metadata开玩笑的问题 - ReactElement.js:无法获取模拟元数据
【发布时间】:2016-03-02 03:30:27
【问题描述】:

我有一个非常简单的测试

/** @jsx React.DOM */
var store = require('../simpleStore');
var TestUtils = require('react/addons').addons.TestUtils;

describe("my tests",function(){
  it('simple test',function(){
     var x=10,
        y=20;
     expect(x).not.toBe(y);
  })
})

只要我不需要 TestUtils,测试就可以正常工作。 添加任何 node_module 引用的那一刻,我开始看到以下错误

Using Jest CLI v0.8.0, jasmine1
FAIL  build/stores/__tests__/simple-test.js

● Runtime Error

Error: ../stores/__tests__/simple-test.js:
../../node_modules/react/addons.js:
../../node_modules/react/lib/ReactWithAddons.js:
../../node_modules/react/lib/LinkedStateMixin.js:
../../node_modules/react/lib/ReactLink.js:
../../node_modules/react/lib/React.js:
../../node_modules/react/lib/ReactDOM.js:
../../node_modules/react/lib/ReactDOMTextComponent.js:
../../node_modules/react/lib/ReactComponentBrowserEnvironment.js:
../../node_modules/react/lib/ReactDOMIDOperations.js:
../../node_modules/react/lib/ReactMount.js:
../../node_modules/react/lib/ReactElement.js: Failed to get mock metadata:
../../node_modules/react/lib/canDefineProperty.js
npm ERR! Test failed.  See above for more details.

我确定很多人都在开玩笑,但我错过了一些愚蠢的东西..了解解决此问题的任何想法吗?

【问题讨论】:

    标签: reactjs jestjs reactjs-testutils


    【解决方案1】:

    尝试在 package.json 中的 jset 配置中禁用模拟反应:

    "unmockedModulePathPatterns": [
      "<rootDir>/node_modules/react",
      "<rootDir>/node_modules/fbjs"
    ]
    

    【讨论】:

    • 不幸的是,即使使用此配置,我仍然看到错误:` "unmockedModulePathPatterns": [ "/node_modules/react", "/node_modules/react-dom", "/node_modules/react-addons-test-utils", "/node_modules/fbjs" ],`
    • 在测试 React-Native 时遇到多个问题后,我放弃了 Jest。您可能有兴趣查看 Enzyme (airbnb.io/enzyme)。您可以使用 Mocha 和 Chai 进行测试,而且在大多数情况下,它是无痛的。
    • 感谢您的提示!我最终只使用了 Jasmine 和 React TestUtils,但 Enzyme 看起来很棒!
    • 您是否将“unmockedModulePathPatterns”放入 json 中的“jest”对象(嵌套在其中?)?如果你把它放在下面是行不通的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 2022-09-26
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多