lib和lib-cov在express中的区别?

时间:2014-05-15 16:37:11

标签: node.js express

我是Node.js的新手。

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

我知道EXPRESS_COV返回一个布尔值,但lib-cov / express和lib / express有什么区别?

1 个答案:

答案 0 :(得分:2)

当您运行测试并希望查看这些测试的代码覆盖率(即运行测试时实际执行了多少代码库行)时,

process.env.EXPRESS_COV将成立。用于表达的测试框架Mocha通过使用jscoverage实现了这一点。

JSCoverage解析您的源代码并添加一堆如下所示的行:

$_jscoverage[filename][line]++;

当然,在源代码中使用起来相当混乱,更不用说添加大量内容了。因此,我们永远不会想要在我们的代码库中处理JSCoverage文件。幸运的是,JSCoverage将修改后的文件放在不同的目录中。在这种情况下,./lib-cov/代替./lib/。这样,我们就可以看到我们的测试有多有效,而不是混乱我们的代码。

有关整个rigamarole如何运行的详细信息,请参阅TJ Holowaychuk's article

如果您想避免所有这些,可以使用Istanbul,因为它更简单,并且不需要index.js

中的例外