【问题标题】:Getting absolutely NO output from Jest when running tests运行测试时从 Jest 获得绝对没有输出
【发布时间】:2017-05-26 14:08:05
【问题描述】:

这是我的 package.json:

"jest": {
   "cacheDirectory": "/tmp/jestCache",
   "scriptPreprocessor": "node_modules/babel-jest",
   "modulePaths": [
      "<rootDir>/app/static/react/"
   ],
   "moduleDirectories": [
      "node_modules",
      "app/static/react/app"
   ],
   "testPathDirs": [
      "app/static/react/__tests__"
   ],
   "testRegex": "(.*Tests?\\.jsx?)$"
}

当我运行jest --verbose 时,测试运行,但据我所知,除了抛出错误外,没有办法与标准输出进行任何通信。 console.log 本身不存在。我正在使用 jest 16.0.2。我读到最近有一些关于自动模拟和控制台缓冲的变化,但似乎我错过了一些更基本的东西。

否则测试运行良好。

在 OSX Yosemite 上工作,节点 7.4,npm 4.0.5。

【问题讨论】:

    标签: reactjs npm jestjs babel-jest


    【解决方案1】:

    我觉得你有太多的配置覆盖了默认值。 jest 很棒的原因之一是它开箱即用。首先我会更新到最新版本的 jest 18.0.1 和 babel-jest 17.0.2,然后我会尝试使用默认配置。

    jest: {
    
    },
    

    由于您使用的是babel-jest,因此您根本不必在配置中指定它。开玩笑会捡起来的。不过,请确保您的 .babelrcpackage.json 处于同一级别。

    testPathDirstestRegex 默认为 ["&lt;rootDir&gt;"](/__tests__/.*|(\\.|/)(test|spec))\\.jsx?$ 所以我认为你也不需要它。 moduleDirectories 默认为 ["node_modules"],所以你也应该没问题。

    我肯定会更改的其他内容是您的来源的路径。 app/static/react/app 对我来说似乎有点奇怪(我不确定 jest 是否会因为 react 在你的路径中而感到困惑)。像app/static/src/ 这样的东西会更有意义。另外我会将测试移至app/static/src/__tests__/

    我知道这个答案听起来可能过于笼统,但我肯定会从不覆盖默认配置开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 2015-02-11
      • 2018-12-08
      • 1970-01-01
      • 2015-07-31
      • 2020-05-15
      相关资源
      最近更新 更多