【问题标题】:How can I get code coverage for dart runtime?如何获得 dart 运行时的代码覆盖率?
【发布时间】:2019-11-18 12:52:15
【问题描述】:

简单地说:谁能告诉我如何知道飞镖代码是否已被调用或如何将其标记为命中和未命中。

我们可以通过 'flutter test --coverage' 获得测试覆盖率。但这依赖于 test.dart 文件,我的意思是我们必须为我们关心的文件和功能编写 test.dart 文件。如果我们可以在 dart 运行时收集覆盖信息,我们将更容易知道调用了哪些代码行。而且我认为它对开发者很友好。

我搜索过 dart-lang/sdk,只知道 'flutter test --coverage' 通过 invokeRpcRaw('getSourceReport'...) 获取报告,但我不知道如何获取 dart 运行时的报告。

如果运行时不起作用,我可以在编译时做些什么吗?

【问题讨论】:

标签: flutter dart runtime code-coverage


【解决方案1】:

在 Mac 上

brew install lcov

或者为此使用 ubuntu 或 windows 替代品

然后

flutter test --coverage
genhtml coverage/icov.info -o coverage/html
open coverage/html

【讨论】:

  • 其实我知道这个方法。但是这个覆盖率是针对单元测试代码覆盖率的,我想找到一种方法来收集 dart 运行时代码覆盖率的覆盖率。还是谢谢你们
【解决方案2】:

https://github.com/dart-lang/coverage 可以帮到你

  1. flutter pub 全球激活覆盖
  2. flutter 运行(可以使用 -d 选择设备)
  3. flutter pub 全局运行覆盖率:collect_coverage --uri=http://... -o coverage.json --resume-isolates
  4. flutter pub 全局运行覆盖:format_coverage --packages=./.packages --report-on lib --in coverage.json --out lcov.info --lcov

我已经尝试过了,终于在运行时获得了 lcov.info,祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 2021-01-24
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    相关资源
    最近更新 更多