我如何让伊斯坦布尔报告 Lab/Hapi.js 测试的覆盖率?
How do I get Istanbul to report coverage for Lab/Hapi.js tests?
编辑:几个月后我完全迁移到 Lab,效果很好,包括覆盖范围。也许在我写这个实验室的时候没有一个好的覆盖工具。
我以前用过这个。今天早上在工作。突然,它不是。
测试在 dist/test/unit.js
。 15 个测试覆盖了 80.29% 的代码(基于实验室的覆盖率报告)。但是我们设置为将 Istanbul 与 Sonar 一起使用,所以我需要让它再次与 Istanbul 一起使用。无论如何,我更喜欢伊斯坦布尔的报道。
我正在 运行 进行测试:
./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]
似乎正在生成的覆盖率报告无效。我怎么会知道?
这个分辨率不是很满意。我检查了一些旧代码并且它有效,所以我从一个测试开始并跳过其余代码并使用此命令:
./node_modules/.bin/istanbul cover ./node_modules/.bin/lab -- -l -e development ./dist/test/unit.js
然后我把测试中的skip一个一个去掉。最后,覆盖率报告适用于所有测试。不知道昨天阻止伊斯坦布尔收集报道信息的实际问题是什么。
我唯一能想到的是我从我的 npm 命令中删除了 rm -rf coverage
(它是:transpile,删除覆盖,运行 覆盖,打开覆盖报告;在一个 npm 命令中用分号隔开)。也许这阻止了伊斯坦布尔编写覆盖工件?
编辑:几个月后我完全迁移到 Lab,效果很好,包括覆盖范围。也许在我写这个实验室的时候没有一个好的覆盖工具。
我以前用过这个。今天早上在工作。突然,它不是。
测试在 dist/test/unit.js
。 15 个测试覆盖了 80.29% 的代码(基于实验室的覆盖率报告)。但是我们设置为将 Istanbul 与 Sonar 一起使用,所以我需要让它再次与 Istanbul 一起使用。无论如何,我更喜欢伊斯坦布尔的报道。
我正在 运行 进行测试:
./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]
似乎正在生成的覆盖率报告无效。我怎么会知道?
这个分辨率不是很满意。我检查了一些旧代码并且它有效,所以我从一个测试开始并跳过其余代码并使用此命令:
./node_modules/.bin/istanbul cover ./node_modules/.bin/lab -- -l -e development ./dist/test/unit.js
然后我把测试中的skip一个一个去掉。最后,覆盖率报告适用于所有测试。不知道昨天阻止伊斯坦布尔收集报道信息的实际问题是什么。
我唯一能想到的是我从我的 npm 命令中删除了 rm -rf coverage
(它是:transpile,删除覆盖,运行 覆盖,打开覆盖报告;在一个 npm 命令中用分号隔开)。也许这阻止了伊斯坦布尔编写覆盖工件?