我如何获得伊斯坦布尔的Lab / Hapi.jstesting报告?

编辑:几个月后,我完全迁移到实验室,它的工作很好,包括覆盖。 也许在我写这个实验室的时候没有一个好的覆盖工具。

我已经得到了这个工作。 今天早上工作 突然间,事实并非如此。

testing在dist/test/unit.js 。 15个testing覆盖了80.29%的代码(基于Lab的覆盖报告)。 但是我们准备和Sonar一起使用伊斯坦布尔,所以我需要再次与伊斯坦布尔合作。 无论如何我宁愿select伊斯坦布尔

我正在运行testing:

./node_modules/.bin/istanbul cover ./node_modules/.bin/lab -- -l -e development -r lcov dist/test

testing运行。 全部通过。 屏幕输出是覆盖报告:

 ... DA:801,1 DA:802,1 DA:803,1 DA:804,1 DA:805,1 DA:806,1 DA:807,1 LF:774 LH:738 end_of_record No coverage information was collected, exit without writing coverage information 

为什么这告诉我没有收集报道? 我怎样才能让这两个工具再次打好?

摆脱-r lcov并没有真正的帮助。 在./coverage (默认文件夹)中没有任何输出。 我可以通过pipe道强制它,但是当我运行输出到伊斯坦布尔(报告选项)时,我得到Error: Invalid report format [coverage/cover.info]

似乎正在生成的覆盖率报告是无效的。 我怎么会知道?

这个决议不是很令人满意。 我检查了一些旧的代码,它的工作,所以我开始了一个testing,并跳过其余的使用这个命令:

./node_modules/.bin/istanbul cover ./node_modules/.bin/lab -- -l -e development ./dist/test/unit.js

然后,我逐个从testing中删除了跳过。 最后,覆盖报告与所有testing一起工作。 不知道真正的问题是什么阻止伊斯坦布尔收集昨天的覆盖面信息。

我能想到的唯一的事情就是我从npm命令中删除了rm -rf coverage (这是:transpile,删除覆盖范围,运行覆盖范围,打开覆盖率报告;在一个以分号分隔的npm命令中)。 也许这是阻止伊斯坦布尔写覆盖文物?