speed up development and simplify refactors
e.g. automatically generate a unit test with each module
we stop writing and running tests when they're NOT...
Everyone knows when
tests are failing
Tests don't fail intermittently
Tests run quickly
When a test fails,
it's easy to learn why
they should be able to run with it.only
manually manipulate your app instead
think from the user's perspective, or select elements by intent
run unit tests against staged files on a pre-commit hook
make sure you know when tests are failing
create helpers and custom matchers to simplify complex assertions
(e.g. hello.js and hello.unit.js)
Â