Install
$ agentstack add skill-mdazadhossain95-flutter-agent-skills-dart-test-fundamentals ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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 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:
@Tags(['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 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/dashskills/blob/main/.agent/skills/dart-matcher-best-practices/SKILL.md [dart-checks-migration]: https://github.com/kevmoo/dashskills/blob/main/.agent/skills/dart-checks-migration/SKILL.md
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mdazadhossain95
- Source: mdazadhossain95/flutter-agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.