2017-01-11 78 views
1

時,這裏是我的package.json:獲取絕對來自玩笑NO輸出運行測試

"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本身不存在。我使用的是16.0.2。我讀過關於automocking和控制檯緩衝的最新變化,但似乎我錯過了更基本的東西。

測試否則運行良好。

在OSX優勝美地,節點7.4,npm 4.0.5上工作。

回答

0

我覺得你有太多的配置覆蓋了默認值。 jest真棒的原因之一是它可以直接使用。首先,我會更新到jest 18.0.1和babel-jest 的最新版本,然後嘗試使用默認配置。

jest: { 

}, 

由於您使用的是babel-jest,所以您不必在config中指定它。 Jest只會撿起來。確保你有一個.babelrcpackage.json相同的水平,但。

testPathDirstestRegex默認爲["<rootDir>"](/__tests__/.*|(\\.|/)(test|spec))\\.jsx?$所以我認爲你也不需要這個。另外moduleDirectories默認爲["node_modules"],所以你應該也可以。

我肯定會改變的其他東西是你的源代碼的路徑。 app/static/react/app對我來說似乎有點不可思議(我不確定是否因爲react在你的路徑中而變得迷惑)。類似app/static/src/會更有意義。另外我會將測試移動到app/static/src/__tests__/

我知道這個答案可能聽起來過於通用,但我肯定會從不覆蓋默認配置開始。