如何在我的颤振测试中生成未测试文件的测试覆盖率?

Posted

技术标签:

【中文标题】如何在我的颤振测试中生成未测试文件的测试覆盖率?【英文标题】:How can I generate test coverage of untested files on my flutter tests? 【发布时间】:2019-07-03 07:28:12 【问题描述】:

我正在对我的应用程序进行小部件和单元测试,我根据basic guides 正常进行测试,并生成我使用的覆盖率:

flutter test --coverage

但是我只能看到文件的覆盖率直接测试,我想查看其他文件(覆盖率为 0%),然后我可以检查我的代码的实际覆盖率.

有没有办法做到这一点?

【问题讨论】:

这里也一样。我发现了同样的问题,覆盖范围只显示我测试过的。 你现在解决这个问题了吗? 还没有解决,如果我有解决方案我会在这里发布。 我现在知道如何实现这一点,您必须在 _test.dart 文件中导入所有(测试和未经测试的)文件。导入 lib/ from .... 有趣,这是一种缓解方法,但并不能解决问题,因为我们仍然需要做一些事情来让所有文件出现在测试中,这样我们只需改变需要测试需要导入一些测试里面的文件。 【参考方案1】:

我创建了一个small helper script 来帮助生成完整的报道报告。它会扫描您的lib 目录中的*.dart 文件(不包括*.g.dart)并将它们导入到生成的test/coverage_test.dart 文件中。拥有这个生成的文件覆盖分析器将在您下次运行它时遍历整个项目。使用脚本:

    将其克隆到任何位置

    wget https://raw.githubusercontent.com/priezz/dart_full_coverage/master/dart-coverage-helper
    

    使其可执行

    chmod +x dart-coverage-helper
    

    确保脚本的位置在您的PATH 环境变量中(或者只是将其放入项目的根目录中)。

    从 Dart/Flutter 项目的根目录运行

    dart-coverage-helper
    

然后照常生成覆盖率报告

flutter test --coverage # for Flutter project
# or
pub run test_coverage   # for Dart project

【讨论】:

以上是关于如何在我的颤振测试中生成未测试文件的测试覆盖率?的主要内容,如果未能解决你的问题,请参考以下文章

在我朋友的安卓设备上进行颤振 apk 测试

使用后退按钮颤振测试 WillPopScope

web前端好帮手 - Jest单元测试工具

如何在我的应用程序中测试本地化

如何从代码覆盖率伊斯坦布尔记者中排除模拟文件

软件测试