Semantic-UI-React 无法启用调试

Posted

技术标签:

【中文标题】Semantic-UI-React 无法启用调试【英文标题】:Semantic-UI-React could not enable debug 【发布时间】: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

【问题讨论】:

我遇到了同样的问题。您设法解决了这个问题吗? 【参考方案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 上运行测试。

【讨论】:

以上是关于Semantic-UI-React 无法启用调试的主要内容,如果未能解决你的问题,请参考以下文章

无法在发布配置中调试 64 位应用程序,启用了调试信息

尽管启用了本机代码调试,但仍无法从托管调试本机代码

Azure 远程调试:无法从 HRESULT 启用远程调试异常:0x89710023

尽管启用了本机代码调试,但是仍无法从托管调试本机代码

VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“

如果没有启用远程调试器,React Native 代码将无法工作