Skill
Writes tests before code
Tests exactly one thing per example
Tests happy path and edge cases
Uses test descriptions and describe/context blocks appropriately
Addresses broken tests before writing new code
Consistently writes model/unit tests
Consistently writes controller tests
Consistently writes integration/acceptance tests
Consistently writes view tests
Doesn't push code with failing/pending tests
Writes tests to prove a bug exists before fixing it
Uses continuous integration to automatically run tests
Uses mocks and stubs to reduce dependencies