如何在伊斯坦布尔中包含与测试用例不在同一目录中的必需文件?

时间:2015-04-01 01:04:43

标签: node.js mocha istanbul

我正在尝试做一些简单的事情,但它不起作用..我必须做一些愚蠢的事情。

我正在使用Istanbul与Mocha进行代码覆盖+单元测试。

在正在测试的代码中,它正在使用来自require'd的模块的函数,我希望那些导入的模块包含在代码覆盖中 - 但事实并非如此。

我明确地将require中的库包含一个完整路径(它与测试用例所在的dir不同)

var d = require(srcroot + '/scripting/wf_daemon/daemon_lib');

然后,测试用例正在调用该模块startWorkFlow中的函数。

d.startWorkflow(workflow, function (msg) { // do something })

但是,伊斯坦布尔不会进入引用的函数startWorkFlow,它只会覆盖测试文件。

我需要的是代码覆盖率,以便通过测试用例扩展到模块require'中的所有函数。

我这样打电话给伊斯坦布尔:

istanbul cover --include-all-source --dir C:\Build\buildarea --print none "C:\Program Files\nodejs\node_modules\mocha/bin/_mocha" -- --reporter mocha-teamcity-reporter ./test.js

有没有办法让伊斯坦布尔来检测不在测试用例所在目录(或子目录)中的文件?我犯了什么简单的错误?

干杯!

0 个答案:

没有答案