remove_from_coverage
커버리지 lcov.info 파일의 내용을 사용자 지정하기 위한 명령줄 도구입니다.
커버리지 lcov.info 파일의 내용을 사용자 지정하기 위한 명령줄 도구
^2.0.0^1.11.0아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Author: Jack Warren
Manipulate lcov.info coverage files to ignore files matching given patterns. This can be used to exclude generated files from coverage reports, and is language-agnostic.
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
The patterns are used to construct RegExp objects, so -r "\.g\.dart$" becomes RegExp('\.g\.dart$'). Multiple patterns may be provided by either providing -r multiple times or by using comma-separation, like -r '\.g\.dart$', 'main\.dart'. When evaluating a file's entry in the lcov.info, if its path matches any pattern it will be excluded. The paths are relative from the project's root.
If a lcov.info file is not provided via the -f flag, stdin input is run through the program's filter and is sent to stdout.
Suppose you want to remove generated files ending in .g.dart from code coverage reports:
lcov.info file in the coverage directory\.g\.dart$ as the patternIf pub global scripts are on your path, you can use the following:
remove_from_coverage -f coverage/lcov.info -r "\.g\.dart$"
Otherwise, you can use the following:
pub global run remove_from_coverage:remove_from_coverage -f coverage/lcov.info -r "\.g\.dart$"
An entire example project where remove_from_coverage is useful exists in the example directory of the package.
Code coverage reports are generated from an lcov.info file, which is generated by test coverage packages.
In some cases, it might make sense to have some files excluded from code coverage reports, like generated or experimental files. Some generators of lcov.info files might support excluding files, but remove_from_coverage provides another route: after a lcov.info file has been generated, it can be manipulated to remove data relating to ignored files.
This means that remove_from_coverage is agnostic to both how the lcov.info file is generated or how it is used. It may be used for non-Dart projects, and it has been tested on both Linux and Windows.