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.
Collecting coverage from the VM
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
--uri specifies the Observatory URI emitted by the VM.
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.
Formatting coverage data
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
app_package is the path to the package whose coverage is being
--sdk-root is set, Dart SDK coverage will also be output.
Ignore lines from coverage
// coverage:ignore-lineto ignore one line.
// coverage:ignore-endto ignore range of lines inclusive.
// coverage:ignore-fileto ignore the whole file.