这是我的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。
答案 0 :(得分:-1)
我觉得你有太多的配置会覆盖默认设置。开玩笑很棒的一个原因是它开箱即用。首先,我会更新到最新版本的jest 18.0.1
和babel-jest 17.0.2
,然后我会尝试使用默认配置。
jest: {
},
由于您使用的是babel-jest
,因此您根本不需要在配置中指定它。 Jest会选择它。确保.babelrc
与package.json
处于同一级别。
testPathDirs
和testRegex
默认为["<rootDir>"]
和(/__tests__/.*|(\\.|/)(test|spec))\\.jsx?$
所以我认为您也不需要这样做。此外moduleDirectories
默认为["node_modules"]
,因此您也应该对此感到满意。
我肯定会改变的是你的来源之路。 app/static/react/app
对我来说似乎有些奇怪(我不确定因为react
在你的路径中而导致开玩笑。像app/static/src/
这样的东西会更有意义。我也会将测试移到app/static/src/__tests__/
。
我知道这个答案可能听起来过于通用,但我绝对不会覆盖默认配置。