如何在颤振测试覆盖率中排除文件?

Posted

技术标签:

【中文标题】如何在颤振测试覆盖率中排除文件?【英文标题】:How to exclude file in flutter test coverage? 【发布时间】:2019-05-08 00:19:22 【问题描述】:

我正在尝试从flutter 测试结果的测试覆盖结果中排除几个config 文件。当我运行flutter test --coverage 时,输出文件icov.info 也包含有关config 文件的信息,这会影响整体覆盖率。

【问题讨论】:

你使用的是什么类型的配置文件? @Muldec,一个保存所有常量/密码/等的 Dart 文件,也用于翻译文件,不需要测试覆盖率。基本上,问题是如何从测试覆盖中跳过几个文件。 今天不可能。对不起。 github.com/flutter/flutter/issues/25077 你能做到吗? 【参考方案1】:

有一个方便的包可以做到这一点remove_from_coverage

https://pub.dev/packages/remove_from_coverage

这是使用帮助:

Remove files with paths matching given PATTERNs from the lcov.info FILE
-f, --file=<FILE>         the target lcov.info file to manipulate
-r, --remove=<PATTERN>    a pattern of paths to exclude from coverage
-h, --help                show this help

如果你想在你的管道中运行它或全局安装它,基本上将它添加到你的dev_dependencies

【讨论】:

【参考方案2】:

如果你使用的是 lcov,你可以这样做:

- flutter test --coverage
- lcov --remove coverage/lcov.info 'lib/mock/*' 'lib/utils/l10n/*' 'lib/utils/colors.dart' -o coverage/new_lcov.info
- genhtml coverage/new_lcov.info --output=coverage

【讨论】:

伟大而简单的选择!

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

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

如何从覆盖范围中排除文件?

如何从代码覆盖率数字中排除 browserify 生成的代码?

如何从测试覆盖率中排除 Dagger2 类

如何从业力代码覆盖率报告中排除文件?

如何从android项目中的jacoco测试覆盖率报告中排除方法