0

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

我将伊斯坦布尔与 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

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

干杯!

4

0 回答 0