commit | 51aa23cd9e3c4e13653eb850ad89f1ad44783906 | [log] [tgz] |
---|---|---|
author | Liam Appelbe <liama@google.com> | Mon Jun 21 11:14:59 2021 -0700 |
committer | GitHub <noreply@github.com> | Mon Jun 21 11:14:59 2021 -0700 |
tree | 363f589f47e009f7c260ee9f27a45fe651ec879e | |
parent | 4cf2e67b027b1e940b2019c463e7f9947f6a1b66 [diff] | |
parent | 7d815bc1846ab57e723e055ca9b83ca095d0471d [diff] |
Merge pull request #348 from dart-lang/fncov Function coverage
Coverage provides coverage data collection, manipulation, and formatting for Dart.
collect_coverage
collects coverage JSON from the Dart VM Observatory. format_coverage
formats JSON coverage data into either LCOV or pretty-printed format.
pub global activate coverage
Consider adding the pub global run
executables directory to your path. See Running a script from your PATH for more details.
dart --pause-isolates-on-exit --disable-service-auth-codes --enable-vm-service=NNNN script.dart pub global run coverage:collect_coverage --uri=http://... -o coverage.json --resume-isolates
or if the pub global run
executables are on your PATH,
collect_coverage --uri=http://... -o coverage.json --resume-isolates
where --uri
specifies the Observatory URI emitted by the VM.
If collect_coverage
is invoked before the script from which coverage is to be collected, it will wait until it detects a VM observatory to which it can connect. An optional --connect-timeout
may be specified (in seconds). The --wait-paused
flag may be enabled, causing collect_coverage
to wait until all isolates are paused before collecting coverage.
pub global run coverage:format_coverage --packages=app_package/.packages -i coverage.json
or if the pub global run
exectuables are on your PATH,
format_coverage --packages=app_package/.packages -i coverage.json
where app_package
is the path to the package whose coverage is being collected. If --sdk-root
is set, Dart SDK coverage will also be output.
// coverage:ignore-line
to ignore one line.// coverage:ignore-start
and // coverage:ignore-end
to ignore range of lines inclusive.// coverage:ignore-file
to ignore the whole file.