Angular項目的規模一旦變大,待執行的單元測試的數目多是海量的。此時在開發新的單元測試時,會遇到須要屏蔽到系統裏已經很是穩定的測試,而只執行正在開發的新單元測試。這個需求如何實現呢?typescript
每一個Angular項目文件夾下都有test.ts, 裏面有一行語句,指定了該項目下哪些ts文件裏的單元測試會執行:數組
const context = require.context('./', true, /\.spec\.ts$/);
默認狀況下,src目錄下全部以.spec.ts結尾的文件裏,包含的單元測試都會被執行。app
若是我想只執行正在開發的新單元測試,而屏蔽到之前開發好的全部單元測試,能夠在require.context返回的結構上作文章。單元測試
只須要添加以下兩行語句:測試
const FILE = ['./app/ngrxdemo/service/unittest-study/demo.spec.ts']; context.keys().filter( name => !!FILE.includes(name)).map(context);
將須要執行的單元測試文件路徑放到FILE數組裏:ui
命令行運行ng test, 便可觀察到如今只有FILE數組裏指定的一個單元測試文件demo.spec.ts裏的測試用例被執行了:spa
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":
命令行