如何在Windows中以html形式查看Flutter的代码覆盖率?

TSR*_*TSR 10 code-coverage lcov dart flutter

我做到了flutter test --coverage

Alcov.info是在下生成的coverage

我想将其转换为 html,但我没有找到适用于 Windows 的工具。

在 Linux 上,你只需执行以下操作:

sudo apt-get update -qq -y
sudo apt-get install lcov -y
Run Code Online (Sandbox Code Playgroud)

然后你就做

genhtml coverage/lcov.info -o coverage/html

我在 Windows 上并且 'genhtml' is not recognized as an internal or external command, operable program or batch file.

TSR*_*TSR 21

好吧,我找到了。我将把答案留在这里,以防它对任何人有帮助。

实际上 genhtml 是一个perl脚本。如果您安装了 git bash,那么您应该已经安装了 perl。尝试where perl一下cmd,它会告诉你路径。

对我来说是在C:\Program Files\Git\usr\bin\perl.exe

genhtml.perl现在在 flutter 项目根目录中创建一个名为的文件。(确保.gitignore它)然后在文件中,复制并粘贴此内容https://raw.githubusercontent.com/valbok/lcov/master/genhtml.perl

最后打开 git bash 并运行$ ./genhtml.perl ./coverage/lcov.info -o coverage/html

检查您已完成 html 文件coverage/html

在 android studio 上,选择index.html然后CTRL+SHIFT+C复制文件路径。

打开 Chrome 并在网址栏上添加file:///+ CTRL+V。点击进入。你完成了。

PS:如果遇到类似错误No common filename prefix found!或其他问题,他们可以尝试genhtml.perl从下面的链接替换文件内容。

https://raw.githubusercontent.com/linux-test-project/lcov/master/bin/genhtml