[英]How to finish/kill Mocha/Istanbul test cycle with Node.js
我一直在努力獲取具有在本地運行且可測試的Node.js后端的Azure移動應用程序。 我終於使一切正常,並開始編寫測試。 然后,我了解了伊斯坦布爾/紐約市以測試代碼覆蓋率。
一切似乎都運行良好,並且能夠獲得為我的所有*.js
文件生成的代碼覆蓋文件,但是只有在我手動按Ctrl + C之后 。
這是結束一組mocha
測試的正常方法嗎? 似乎/應該有某種方法可以完成一組測試並自動終止為該測試會話創建的Node.js / express服務器。
我對Node.js / express / mocha / nyc的細節不熟悉。 我的期望錯了嗎? 有什么方法可以做我想要的嗎?
我不確定您要將服務器提升到哪里( server.listen
),但是在“ global” after
停止服務器應該足夠了。
我通常要做的是創建bootstrap.test.js
並指定在那里進行測試之前和之后應該發生的事情,然后像這樣運行mocha:
mocha /test/bootstrap.test.js /test/unit/**/*.test.js /test/integration/**/*.test.js
。
您需要確保after
不在describe
,因此它必須在所有測試完成后才能運行。
所以您的bootstrap.test.js應該看起來像這樣:
/*
imports and stuff
*/
before(function () {
// LIFT YOUR SERVER //
});
after(function () {
server.close();
});
編輯:
至於Ctrl-c
的編程等效項,即process.exit(0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.