testing

SKILL.md

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:

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:

test('should emit updated list when item is added', () { ... });
test('should throw ArgumentError when input is negative', () { ... });
Weekly Installs
4
GitHub Stars
482
First Seen
5 days ago
Installed on
windsurf4
mcpjam2
claude-code2
junie2
kilo2
zencoder2