Reactjs 在运行测试时,绝对不会从Jest获得任何输出

Reactjs 在运行测试时,绝对不会从Jest获得任何输出,reactjs,npm,jestjs,babel-jest,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/stat

这是我的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?)$"
}
“开玩笑”:{
“缓存目录”:“/tmp/jestCache”,
“scriptPreprocessor”:“node_modules/babel jest”,
“模块路径”:[
“/app/static/react/”
],
“模块目录”:[
“节点_模块”,
“应用程序/静态/反应/应用程序”
],
“testPathDirs”:[
“应用程序/静态/反应/测试”
],
“testRegex”:“(.*Tests?\\\.jsx?$”
}
当我运行jest--verbose时,测试会运行,但就我所知,除了抛出一个错误之外,没有任何方法可以与stdout通信<代码>控制台。日志本身不存在。我使用的是JEST16.0.2。我读过关于自动模拟和控制台缓冲的一些最新变化,但似乎我遗漏了一些更基本的东西

否则测试运行正常


在OSX Yosemite、node 7.4、npm 4.0.5上工作。

我觉得您的配置太多,正在覆盖默认设置。玩笑之所以令人敬畏,其中一个原因是它是开箱即用的。首先,我将更新到jest
18.0.1
和babel jest
17.0.2
的最新版本,然后尝试使用默认配置

jest: {

},
由于您使用的是
babeljest
,因此根本不需要在配置中指定它。杰斯特会把它捡起来的。但要确保您的
.babelrc
package.json
处于同一级别

testPathDirs
testRegex
默认为
[“”]
(/\uuuu-tests\uuuuuuu/*./)(\\\.\124;/)(test-spec))\\.jsx?$
,所以我认为您也不需要它。另外,
moduleDirectories
默认设置为
[“node\u modules”]
,因此您也应该可以这样做

我肯定会改变的另一件事是通往你源头的道路
app/static/react/app
对我来说似乎有点奇怪(我不确定jest是否因为
react
在您的路径中而感到困惑)。像
app/static/src/
这样的东西更有意义。另外,我将把测试移到
app/static/src/\uuuu tests\uuuu/

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