我正在尝试做一些简单的事情,但它不起作用..我必须做一些愚蠢的事情。
我正在使用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
有没有办法让伊斯坦布尔来检测不在测试用例所在目录(或子目录)中的文件?我犯了什么简单的错误?
干杯!