-
Bad Design Symptoms
- Rigidity
- Fragiliy
- No Reusability
- Safety Net is a side-effect
-
Enabling effect
- Merciless Refactoring
- Evolutionary incremental design
-
Mechanics
- Red-Green-Refactor
- Uncle Bob's 3 Laws
- NIY Test
- Start with the NULL/Naive test
- Fake it
- Triangulate
- Arrange, Act, Assert
- No Refactoring while RED
- Run ALL the tests ALL the time
- Test Behaviour, not Methods
- Prefer to use a "Fresh Fixture"
- Aggressive Refactoring while GREEN
-
Good Tests
- Independent
- Isolated
- Fast
- Atomic
- Intention Revealing
- Easy to Run