Back to skills
SkillHub ClubWrite Technical DocsFull StackTech WriterTesting

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.

Stars
490
Hot score
99
Updated
March 20, 2026
Overall rating
C3.6
Composite score
3.6
Best-practice grade
S96.0

Install command

npx @skill-hub/cli install evanca-flutter-ai-rules-testing

Repository

evanca/flutter-ai-rules

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 repository

Best 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

Claude CodeCodex CLIGemini CLIOpenCode

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', () { ... });
```
testing | SkillHub