gpt4 book ai didi

flutter - Dart/Flutter 的代码覆盖率可视化(特别适用于 Windows 和 VS Code)

转载 作者:行者123 更新时间:2023-12-04 11:35:51 27 4
gpt4 key购买 nike

This was originally a Github Issue in the Dart-Code repository.


1. 背景
我一直在研究一个包含数百个测试的包,因此一种可视化代码覆盖率的简单方法将非常方便。
我想用一个 .vscode 来运行我的测试。配置 lcov.info VS Code 会自动识别输出,并在相应的编辑器上以红色或绿色突出显示。
2. 我已经尝试过的
在过去的几天里,我尝试了许多不同的解决方案——实际上是几个月——但没有一个像上面描述的那样理想:
  • flutter test --coverage --coverage-path=lcov.info确实可以生成必要的文件,但是必须通过诸如 genhtml 之类的第 3 方程序对其进行可视化很笨拙。 ,如果您使用的是 Windows,则更是如此。
  • 并且它最终确实需要 Flutter,如果您正在使用纯 Dart,这应该不是必需的...

  • IntelliJ 应该可以理想地工作,但我似乎无法启用我的 Run with Coverage 按钮,即使在安装 test_coverage 之后也是如此。包裹。
  • 尽管 Gitter 上的一个人告诉我他在他的 IntelliJ 上工作。

  • 两者 coverage test_coverage 包提供的东西与我上面描述的很接近,但它们的解决方案更笨拙——而且在 Windows 上它们很难设置...
  • codecov.io是 3rd 方的替代方案,但是当编辑器提供更灵活和更快的体验时,不得不在外部处理这个问题很烦人。
  • 而且还有覆盖不明确的问题,关于codecov.io不清楚。 .例如,如果一个文件夹测试间接调用另一个文件夹的内容,这是否也算作间接调用文件夹的覆盖率?这几乎总是不可取的。


  • 3. 其他资源
  • this old question on StackOverflow这最初很有帮助。
  • 最佳答案

  • 你可以拿genhtml.perl脚本here .
  • 如果你的机器上安装了 Windows 版 Git,那么你已经安装了 Perl,它应该在这里:<git-install-dir>\usr\bin\perl.exe
  • \\ 中的所有文件路径行(以 / 为前缀)中的反斜杠字符( SF: )替换为斜杠字符( lcov.info )文件。
  • 运行 genhtml.perl脚本。例如——假设当前工作目录是你项目的根目录——:
    <git-install-dir>\usr\bin\perl.exe \
    C:\Scripts\genhtml.perl \
    -o .\coverage\html .\coverage\lcov.info
    笔记。添加 --prefix 也可能有用选项。

  • 作为这些操作的结果,您应该在 .\coverage\html/ 中获得生成的 HTML 报告。目录。开通 .\coverage\html\index.html文件在浏览器中查看报告。
    我希望这会有所帮助——至少,它对我有用。

    关于flutter - Dart/Flutter 的代码覆盖率可视化(特别适用于 Windows 和 VS Code),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64416360/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com