commit | 19bd6d4ab159bc959aef882ac31d9e1fe45bf351 | [log] [tgz] |
---|---|---|
author | Liam Appelbe <liama@google.com> | Tue Mar 29 16:44:05 2022 -0700 |
committer | GitHub <noreply@github.com> | Tue Mar 29 16:44:05 2022 -0700 |
tree | ce774917eeeb5477640b9103bd0921328f8de5c9 | |
parent | 0790b229c3f59c1b5db762a505bc06a0484733a8 [diff] |
Deprecate --packages flag and add --package (#370) * Migrate tests to package_config.json * Swap --packages flag for --package * Fix analysis errors * Keep the --packages flag, but delete support for .package in resolver * Make separate private constructor for Resolver * Improve resolver test coverage * Switch readme example commands from `pub` to `dart pub` * 1.2.0 is published, so move changes to 1.3.0-dev
Coverage provides coverage data collection, manipulation, and formatting for Dart.
collect_coverage
collects coverage JSON from the Dart VM Service. format_coverage
formats JSON coverage data into either LCOV or pretty-printed format.
dart pub global activate coverage
Consider adding the dart 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 dart pub global run coverage:collect_coverage --uri=http://... -o coverage.json --resume-isolates
or if the dart pub global run
executables are on your PATH,
collect_coverage --uri=http://... -o coverage.json --resume-isolates
where --uri
specifies the Dart VM Service 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.
dart pub global run coverage:format_coverage --package=app_package -i coverage.json
or if the dart pub global run
exectuables are on your PATH,
format_coverage --package=app_package -i coverage.json
where app_package
is the path to the package whose coverage is being collected (defaults to the current working directory). 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.To gather function level coverage information, pass --function-coverage
to collect_coverage:
dart --pause-isolates-on-exit --disable-service-auth-codes --enable-vm-service=NNNN script.dart dart pub global run coverage:collect_coverage --uri=http://... -o coverage.json --resume-isolates --function-coverage
To gather branch level coverage information, pass --branch-coverage
to both collect_coverage and the Dart command you're gathering coverage from:
dart --pause-isolates-on-exit --disable-service-auth-codes --enable-vm-service=NNNN --branch-coverage script.dart dart pub global run coverage:collect_coverage --uri=http://... -o coverage.json --resume-isolates --branch-coverage
Branch coverage requires Dart VM 2.17.0, with service API v3.56. Function, branch, and line coverage can all be gathered at the same time, by combining those flags:
dart --pause-isolates-on-exit --disable-service-auth-codes --enable-vm-service=NNNN --branch-coverage script.dart dart pub global run coverage:collect_coverage --uri=http://... -o coverage.json --resume-isolates --function-coverage --branch-coverage