2017-02-17 72 views
3

目前,我有兩個文件夾:用於單元(快速)測試的__tests__和用於慢速測試的__integration__如何分離Jest上的單元和集成/長時間運行測試?

然後,在package.json

{ 
    "scripts": { 
    "test": "jest", 
    "test:integration": "jest -c '{}'", 
    ... 
    }, 
    "jest": { 
    "testPathIgnorePatterns": ["/node_modules/", "__integration__"] 
    } 
} 

所以,當我想要做TDD,我只運行npm test當我想測試整個項目,npm run test:integration。由於Jest是作爲「無配置」測試框架提供的,所以我想如果有更好的(或適當的)方式來配置它。

謝謝。

回答

1

您是否嘗試過TDD的jest --watch?它只運行與你的git更改相關的文件,首先運行錯誤並大量利用緩存來提高速度。

除此之外,jest -caccepts a path,不是字符串。如果jest-integration-config.json位於您項目的根目錄下,您應該對jest -c jest-integration-config.json有好處。

2

引用此post

你可以嘗試名稱的文件,如:

index.unit.test.jsapi.int.test.js

並與玩笑的模式匹配功能,它可以很方便地單獨運行 他們。對於單元測試運行jest unit和對於 集成測試運行jest int

您可以根據您的偏好定義文件結構/位置,因爲基於文件名的模式匹配是jest知道如何運行。

另見jest cli documentation about npm scripts

如果通過npm test運行玩笑,你仍然可以通過插入--之間npm test和玩笑參數使用命令行參數