2016-09-27 80 views
12

更新:我的用例主要是在CI上運行測試,但覆蓋默認CRA Jest參數是我一般想知道的。在非交互模式下運行CRA Jest


我使用Jest,配置與Create React App來運行測試。它始終啓動到交互模式:

› Press a to run all tests. 
› Press o to only run tests related to changed files. 
› Press p to filter by a filename regex pattern. 
› Press q to quit watch mode. 
› Press Enter to trigger a test run. 

但我不希望它等待我的輸入。我希望它運行一次然後終止。我嘗試使用--bail--no-watchman交換機,但仍以交互模式啓動。

如果我全局安裝jest,並在我的項目的根目錄下運行它,它會執行一次並完成(就像我想的那樣)。但是當我運行npm test運行react-scripts test時,即使我沒有通過--watch,它也會進入手錶模式。

更新:我也在CRA上提交了一個問題。

回答

14

CRA查找CI環境變量,如果它存在,它不會在watch模式下運行。

CI=true npm test應該做你在找什麼

這在ReadmeContinuous Integration部分記錄。

+0

你可以看到它的確認[這裏](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/scripts/test.js#L25) – wgcrouch

+0

yes ,就這個問題而言,沒有更簡單的方法:https://github.com/facebookincubator/create-react-app/issues/784 – AlexStack