如何在我的颤振测试中生成未测试文件的测试覆盖率?
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
【讨论】:
以上是关于如何在我的颤振测试中生成未测试文件的测试覆盖率?的主要内容,如果未能解决你的问题,请参考以下文章