[英]Separation of unit tests and integration tests
我有興趣創建完整的模擬單元測試,以及檢查某些異步操作是否正確返回的集成測試。 我想要一個用於unit
測試的命令和一個用於integration
測試的命令,這樣我就可以在我的 CI 工具中單獨運行它們。 做到這一點的最佳方法是什么? 像 mocha 和 jest 這樣的工具似乎只專注於一種做事方式。
我看到的唯一選擇是使用 mocha 並在一個目錄中有兩個文件夾。
類似的東西:
__unit__
__integration__
然后我需要某種方式告訴 mocha 運行src
目錄中的所有__unit__
測試,另一種方式告訴它運行所有__integration__
測試。
想法?
Mocha 支持目錄、文件通配和測試名稱grepping ,可用於創建測試“組”。
test/unit/whatever_spec.js
test/int/whatever_spec.js
然后對目錄中的所有js
文件運行測試
mocha test/unit
mocha test/int
mocha test/unit test/int
test/unit_whatever_spec.js
test/int_whatever_spec.js
然后針對特定文件運行 mocha
mocha test/unit_*_spec.js
mocha test/int_*_spec.js
mocha
在 mocha 中創建描述測試類型和類/主題的外部塊。
describe('Unit::Whatever', function(){})
describe('Integration::Whatever', function(){})
然后使用 mochas "grep" 參數運行命名塊--grep
/ -g
mocha -g ^Unit::
mocha -g ^Integration::
mocha
在使用測試名稱時保持文件或目錄分隔仍然很有用,這樣您就可以輕松區分失敗測試的源文件。
將每個測試命令存儲在您的 package.json scripts
部分,以便使用諸如yarn test:int
或npm run test:int
類的東西很容易運行。
{
scripts: {
"test": "mocha test/unit test/int",
"test:unit": "mocha test/unit",
"test:int": "mocha test/int"
}
}
mocha 不支持標簽或類別。 你理解正確。 必須創建兩個文件夾,unit和integration,像這樣調用mocha
摩卡單元摩卡集成
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.