testing
Writes and reviews Flutter/Dart tests. Use when writing unit tests, widget tests, or reviewing existing tests for correctness, structure, and naming conventions.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install evanca-flutter-ai-rules-testing
Repository
Skill path: skills/testing
Writes and reviews Flutter/Dart tests. Use when writing unit tests, widget tests, or reviewing existing tests for correctness, structure, and naming conventions.
Open repositoryBest for
Primary workflow: Write Technical Docs.
Technical facets: Full Stack, Tech Writer, Testing.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: evanca.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install testing into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/evanca/flutter-ai-rules before adding testing to shared team environments
- Use testing for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: testing
description: Writes and reviews Flutter/Dart tests. Use when writing unit tests, widget tests, or reviewing existing tests for correctness, structure, and naming conventions.
---
# Testing Skill
This skill defines how to write effective, meaningful Flutter and Dart tests.
---
## 1. Test Validity
Before writing or accepting a test, ask:
> **"Can this test actually fail if the real code is broken?"**
- Avoid tests that only confirm mocked/fake behavior that doesn't reflect real logic.
- Avoid tests that confirm behavior guaranteed by the language, the standard library, or trivially obvious code that cannot fail unless the environment is broken.
- Every test should be capable of catching a real regression.
---
## 2. Structure
Always use `group()` in test files — even when there is only one test. Name the group after the **class under test**:
```dart
group('Counter', () {
test('value should start at 0', () {
final counter = Counter();
expect(counter.value, 0);
});
});
```
---
## 3. Naming
Name test cases using **"should"** to clearly describe the expected behavior:
```dart
test('should emit updated list when item is added', () { ... });
test('should throw ArgumentError when input is negative', () { ... });
```