运行测试时,Jest绝对没有输出

时间:2017-01-11 17:08:44

标签: reactjs npm jestjs babel-jest

这是我的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时,测试运行,但除了抛出错误之外,没有办法向stdout传达任何信息。 console.log本身不存在。我正在使用jest 16.0.2。我已经读到最近有一些关于自动控制和控制台缓冲的变化,但似乎我错过了一些更基本的东西。

否则测试运行良好。

使用OSX Yosemite,节点7.4,npm 4.0.5。

1 个答案:

答案 0 :(得分:-1)

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

jest: {

},

由于您使用的是babel-jest,因此您根本不需要在配置中指定它。 Jest会选择它。确保.babelrcpackage.json处于同一级别。

testPathDirstestRegex默认为["<rootDir>"](/__tests__/.*|(\\.|/)(test|spec))\\.jsx?$所以我认为您也不需要这样做。此外moduleDirectories默认为["node_modules"],因此您也应该对此感到满意。

我肯定会改变的是你的来源之路。 app/static/react/app对我来说似乎有些奇怪(我不确定因为react在你的路径中而导致开玩笑。像app/static/src/这样的东西会更有意义。我也会将测试移到app/static/src/__tests__/

我知道这个答案可能听起来过于通用,但我绝对不会覆盖默认配置。