簡體   English   中英

如何使用Node.js完成/殺死Mocha /伊斯坦布爾測試周期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM