2014-05-15 42 views
0

我是Node.js的新手。lib和lib-cov在express中的區別?

module.exports = process.env.EXPRESS_COV 
    ? require("./lib-cov/express") 
    : require("./lib/express"); 

我知道EXPRESS_COV返回一個布爾值,但是lib-cov/express和lib/express有什麼不同?

+0

代碼覆蓋率例外? – mpm

回答

2

process.env.EXPRESS_COV在您運行測試並希望看到這些測試的代碼覆蓋率(即運行測試時實際執行多少代碼行)時會是正確的。用於快遞的測試框架Mocha通過使用jscoverage來實現此目的。

JSCoverage分析通過你的源代碼,並添加了一堆看起來像這樣的行:

$_jscoverage[filename][line]++; 

當然,這是相當混亂有一個源代碼,更不用說增加了不少散裝的。所以我們絕不希望JSCoverage在我們的代碼庫中處理文件。幸運的是,JSCoverage將修改後的文件放置在不同的目錄中。在這種情況下,./lib-cov/而不是./lib/。這樣,我們可以看到我們的測試效果如何,而不是混亂我們的代碼。

有關整個rigamarole如何運行的詳細信息,請參閱TJ Holowaychuk's article

如果你想避免這一切,你可以使用Istanbul代替,因爲它更簡單,不需要index.js

+0

感謝您的答覆隊友。所以EXPRESS_COV主要用於調試和測試。更多的答案將受到歡迎。 – geoyws

相關問題