我正在尝试做一些简单的事情,但它不起作用..我一定是在做一些愚蠢的事情。
我将伊斯坦布尔与 Mocha 一起用于代码覆盖率 + 单元测试。
在正在测试的代码中,它使用了正在被require
“d”的模块中的函数,我希望将这些导入的模块包含在代码覆盖范围内——但事实并非如此。
我明确地包含了一个require
带有完整路径的库(它与测试用例所在的目录不同)
var d = require(srcroot + '/scripting/wf_daemon/daemon_lib');
稍后,测试用例正在调用该模块中的函数startWorkFlow
。
d.startWorkflow(workflow, function (msg) { // do something })
但是,Istanbul 没有进入引用的函数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
有什么方法可以让伊斯坦布尔检测不在测试用例所在目录(或子目录)中的文件?我犯了什么简单的错误?
干杯!