dart-test-fundamentals▌
kevmoo/dash_skills · updated Apr 8, 2026
Use this skill when:
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.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
groupcall 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.test('description', testOn: 'vm', () { // assertions });
- For
2. Lifecycle Methods (setUp, tearDown)
setUp: Runs before everytestin the currentgroup(and nested groups).tearDown: Runs after everytestin 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).
platforms:
- vm
- chrome
Tags
Categorize tests to run specific subsets.
tags:
integration:
timeout: 2x
Usage in code:
(['integration'])
import 'package:test/test.dart';
Running tags:
dart test --tags integration
Timeouts
Set default timeouts for tests.
timeouts:
2x # Double the default timeout
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 traditionalpackage:matcher(expectcalls).dart-checks-migration: Use this if the project is migrating to the modernpackage:checks(checkcalls).
Ratings
4.5★★★★★10 reviews- ★★★★★Shikha Mishra· Oct 10, 2024
dart-test-fundamentals is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Piyush G· Sep 9, 2024
Keeps context tight: dart-test-fundamentals is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Chaitanya Patil· Aug 8, 2024
Registry listing for dart-test-fundamentals matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Sakshi Patil· Jul 7, 2024
dart-test-fundamentals reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Ganesh Mohane· Jun 6, 2024
I recommend dart-test-fundamentals for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Oshnikdeep· May 5, 2024
Useful defaults in dart-test-fundamentals — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Dhruvi Jain· Apr 4, 2024
dart-test-fundamentals has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Rahul Santra· Mar 3, 2024
Solid pick for teams standardizing on skills: dart-test-fundamentals is focused, and the summary matches what you get after install.
- ★★★★★Pratham Ware· Feb 2, 2024
We added dart-test-fundamentals from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Yash Thakker· Jan 1, 2024
dart-test-fundamentals fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.