2014-05-15 44 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

相关问题