tdd-for-unity
Installation
SKILL.md
Test-Driven Development for Unity
Philosophy
Core principle: Tests verify behavior through public C# interfaces, not implementation details. Code can change entirely; tests shouldn't.
Good tests exercise real code paths through public APIs and read like a specification — "stamina regenerates after the cooldown" tells you what the system does, not how. They survive refactors because they ignore internal structure.
Bad tests couple to implementation: they reach into private fields, assert on call order of internal collaborators, or verify through the scene graph instead of the interface. Warning sign: the test breaks when you refactor but behavior hasn't changed.