gsmlg-dev/code-agent/dart-collect-coverage
Claude Code and agent skill by gsmlg-dev/code-agent
- community
Checking that the SKILL.md file is still in the repository.
Collect coverage using the coverage packge and create an LCOV report
Install
npx vskill@latest install gsmlg-dev/code-agent/dart-collect-coverageSKILL.md
The same SKILL.md was published earlier as dart-lang/skills/dart-collect-coverage.
Implementing Dart and Flutter Test Coverage
Contents
- Testing Fundamentals
- Coverage Directives
- Workflow: Configuring and Generating Coverage Reports
- Workflow: Advanced Manual Coverage Collection
- Examples
Testing Fundamentals
Structure your test suites using the standard Dart testing paradigms. Use package:test for Dart projects and flutter_test for Flutter projects.
- Unit Tests: Verify individual functions, methods, or classes.
- Component/Widget Tests: Verify component behavior, layout, and interaction using mock objects (
package:mockito). - Integration Tests: Verify entire app flows on simulated or real devices.
Coverage Directives
Exclude specific lines, blocks, or entire files from coverage metrics using inline comments. Pass the --check-ignore flag during formatting to enforce these directives.
- Ignore a single line:
// coverage:ignore-line - Ignore a block of code:
// coverage:ignore-startand// coverage:ignore-end - Ignore an entire file:
// coverage:ignore-file
Workflow: Configuring and Generating Coverage Reports
Follow this sequential workflow to add the coverage package, execute tests, and generate an LCOV report.
Task Progress Checklist:
- [ ] 1. Add
coverageas adev_dependency. - [ ] 2. Execute the automated coverage script.
- [ ] 3. Validate the LCOV output.
1. Add Dependencies
Add the coverage package as a dev_dependency to your project. Do not add it to standard dependencies.
If working in a standard Dart project:
If working in a Flutter project:
2. Collect Coverage and Generate LCOV
Use the bundled test_with_coverage script. This script automatically runs all tests, collects the JSON coverage data from the Dart VM, and formats it into an LCOV report.
Note: If working within a Dart workspace (monorepo), specify the test directories explicitly (e.g., `dart run coverage:test_with_coverage -- pkgs/foo/test pkgs/bar/test`).
3. Feedback Loop: Validate Output
Run validator -> review errors -> fix:
- Verify that the
coverage/directory was created in the project root. - Ensure
coverage/coverage.json(raw data) andcoverage/lcov.info(formatted report) exist. - If coverage is missing for specific files, ensure they are imported and executed by your test files, or add
// coverage:ignore-fileif they are intentionally excluded.
Workflow: Advanced Manual Coverage Collection
If you require granular control over the VM service, isolate pausing, or need branch/function-level coverage, use the manual collection workflow.
Task Progress Checklist:
- [ ] 1. Run tests with VM service enabled.
- [ ] 2. Collect raw JSON coverage.
- [ ] 3. Format JSON to LCOV.
1. Run Tests with VM Service
Execute tests while pausing isolates on exit and exposing the VM service on a specific port (e.g., 8181).
2. Collect Raw Coverage
Extract the coverage data from the running VM service and output it to a JSON file.
Optional: Append `--function-coverage` and `--branch-coverage` to gather deeper metrics (requires Dart VM 2.17.0+).
3. Format to LCOV
Convert the raw JSON data into the standard LCOV format.
Examples
Example: pubspec.yaml Configuration
Ensure your pubspec.yaml reflects the coverage package strictly under dev_dependencies.
Example: Applying Ignore Directives
Use ignore directives to prevent generated code or untestable edge cases from lowering coverage scores.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/flutter-skills/skills/dart-collect-coverage/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/gsmlg-dev/code-agent/dart-collect-coverage)