【问题标题】:Semantic-UI-React could not enable debugSemantic-UI-React 无法启用调试
【发布时间】:2017-10-10 13:06:47
【问题描述】:

我正在使用 semantic-ui-react,我正在尝试使用 jest 创建快照测试。但是,我不断收到此消息。有人可以对此有所了解吗?我在 nextjs 中使用语义。

console.error node_modules/fbjs/lib/warning.js:36
      Warning: ReactTestUtils has been moved to react-dom/test-utils. Update references to remove this warning.
    console.error node_modules/semantic-ui-react/dist/commonjs/lib/debug.js:30
      Semantic-UI-React could not enable debug.
    console.error node_modules/semantic-ui-react/dist/commonjs/lib/debug.js:31
      TypeError: Cannot read property 'debug' of undefined

【问题讨论】:

  • 我遇到了同样的问题。您设法解决了这个问题吗?

标签: reactjs jestjs semantic-ui-react next.js


【解决方案1】:

当 debug 无法处理 localStorage 时会产生此警告,但不应调用它进行测试。确保 ENV 变量设置正确,您需要有 NODE_ENV=test

【讨论】:

  • 你能在 github 上创建一个最小的 repro 存储库吗?我会检查的。
  • 运行测试时仍然存在问题
  • 请创建一个最小的 repro 存储库。另外,如果您使用的是 Windows,请尝试 npmjs.com/package/cross-env 设置 ENV var。
  • 对我也不起作用(使用跨环境和最新的一切)
【解决方案2】:

你在 Windows 上吗?如果是这样,您如何执行测试?我之前遇到过同样的问题,并且能够解决它。

我的 package.json 中有以下内容:

"run_test" : "set NODE_ENV=test && npm run test",
"test": "./node_modules/.bin/mocha --compilers js:babel-core/register --recursive",

然而,这样做的问题是 Windows 会将您的 NODE_ENV 设置为“test”而不是“test”,请注意尾随空格。我的解决方案是通过删除空格来修复编写脚本:

"run_test" : "set NODE_ENV=test&&npm run test",
"test": "./node_modules/.bin/mocha --compilers js:babel-core/register --recursive",

【讨论】:

    【解决方案3】:

    对于那些无法通过设置NODE_ENV=test 解决问题的人。另一种选择是使用或扩展一些测试设置脚本(即 mocha -r setup.js):

    // if you run Enzyme tests then you probably already have this import which creates global.window object
    import 'jsdom-global/register'
    
    global.window.localStorage = {};
    

    对我来说,这两个选项都有效。我正在 Linux 上运行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 2017-12-09
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 2018-06-14
      相关资源
      最近更新 更多