wishtohear/bucket-water-oms/dart-test-fundamentals
Claude Code and agent skill by wishtohear/bucket-water-oms
- community
Checking that the SKILL.md file is still in the repository.
Core concepts and best practices for `package:test`. Covers `test`, `group`, lifecycle methods (`setUp`, `tearDown`), and configuration (`dart_test.yaml`).
Install
npx vskill@latest install wishtohear/bucket-water-oms/dart-test-fundamentalsSKILL.md
Dart Test Fundamentals
When to use this skill
Use this skill when:
- Writing new test files.
- structuring test suites with
group. - Configuring test execution via
dart_test.yaml. - Understanding test lifecycle methods.
Core Concepts
1. Test Structure (test and group)
- `test`: The fundamental unit of testing.
``dart test('description', () { // assertions }); ``
- `group`: Used to organize tests into logical blocks.
- Groups can be nested.
- Descriptions are concatenated (e.g., "Group Description Test Description").
- Helps scope
setUpandtearDowncalls. - Naming: Use
PascalCasefor groups that correspond to a class name
(e.g., group('MyClient', ...)).
- Avoid Single Groups: Do not wrap all tests in a file with a single
group call if it's the only one.
- Naming Tests:
- Avoid redundant "test" prefixes.
- Include the expected behavior or outcome in the description (e.g.,
'throws StateError' or 'adds API key to URL').
- Descriptions should read well when concatenated with their group name.
- Named Parameters Placement:
- For
testandgroupcalls, place named parameters (e.g.,testOn,
timeout, skip) immediately after the description string, before the callback closure. This improves readability by keeping the test logic last. ``dart test('description', testOn: 'vm', () { // assertions }); ``
2. Lifecycle Methods (setUp, tearDown)
- `setUp`: Runs before every
testin the currentgroup(and nested
groups).
- `tearDown`: Runs after every
testin the currentgroup. - `setUpAll`: Runs once before any test in the group.
- `tearDownAll`: Runs once after all tests in the group.
Best Practice:
- Use
setUpfor resetting state to ensure test isolation. - Avoid sharing mutable state between tests without resetting it.
3. Configuration (dart_test.yaml)
The dart_test.yaml file configures the test runner. Common configurations include:
Platforms
Define where tests run (vm, chrome, node).
Tags
Categorize tests to run specific subsets.
Usage in code:
Running tags: dart test --tags integration
Timeouts
Set default timeouts for tests.
4. File Naming
- Test files must end in
_test.dartto be picked up by the test runner. - Place tests in the
test/directory.
Common commands
dart test: Run all tests.dart test test/path/to/file_test.dart: Run a specific file.dart test --name "substring": Run tests matching a description.
Related Skills
dart-test-fundamentals is the core skill for structuring and configuring tests. For writing assertions within those tests, refer to:
- [dart-matcher-best-practices]:
Use this if the project sticks with the traditional package:matcher (expect calls).
- [dart-checks-migration]: Use this
if the project is migrating to the modern package:checks (check calls).
[dart-matcher-best-practices]: https://github.com/kevmoo/dash_skills/blob/main/.agent/skills/dart-matcher-best-practices/SKILL.md [dart-checks-migration]: https://github.com/kevmoo/dash_skills/blob/main/.agent/skills/dart-checks-migration/SKILL.md
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 repositoryCheckingbucket-water-oms-admin-mobile/tool/dart_skills_lint/.agents/skills/dart-test-fundamentals/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/wishtohear/bucket-water-oms/dart-test-fundamentals)