wishtohear/bucket-water-oms/dart-test-fundamentals

Claude Code and agent skill by wishtohear/bucket-water-oms

Trust tier 3
  • community
Source check pending

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-fundamentals

SKILL.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 setUp and tearDown calls.
  • Naming: Use PascalCase for 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 test and group calls, 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 test in the current group (and nested

groups).

  • `tearDown`: Runs after every test in the current group.
  • `setUpAll`: Runs once before any test in the group.
  • `tearDownAll`: Runs once after all tests in the group.

Best Practice:

  • Use setUp for 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).

yaml
platforms:
- vm
- chrome
Tags

Categorize tests to run specific subsets.

yaml
tags:
integration:
timeout: 2x

Usage in code:

dart
@Tags(['integration'])
import 'package:test/test.dart';

Running tags: dart test --tags integration

Timeouts

Set default timeouts for tests.

yaml
timeouts:
2x # Double the default timeout
4. File Naming
  • Test files must end in _test.dart to 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/wishtohear/bucket-water-oms/dart-test-fundamentals/badge)](https://verified-skill.com/skills/wishtohear/bucket-water-oms/dart-test-fundamentals)

Something wrong with this skill or its page? Tell us.