2016-08-18 117 views
2

编辑:几个月后,我完全迁移到实验室,它工作的很好,包括覆盖。也许在我写这个实验室的时候没有一个好的覆盖工具。我如何获得伊斯坦布尔报告Lab/Hapi.js测试的报道?

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

测试在dist/test/unit.js。 15个测试涵盖了80.29%的代码(基于Lab的覆盖报告)。但是我们准备与Sonar一起使用伊斯坦布尔,所以我需要再次与伊斯坦布尔合作。反正我更喜欢伊斯坦布尔的报道。

我与运行测试:

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

测试运行。全部通过。屏幕输出为覆盖率报告:

... 
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(默认文件夹)都没有输出。我可以通过管道强制它,但是当我运行输出到伊斯坦布尔(报告选项)时,我得到Error: Invalid report format [coverage/cover.info]

看起来正在生成的覆盖率报告无效。我怎么会知道?

回答

0

关于这一个的决议并不是很令人满意。我查了一些旧的代码和它的工作,所以我开始一个测试,并跳过休息和使用这个命令:

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

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

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