Great Habits
There is a set of good habits you should aim to internalize. In the following lessons, we will add more to this list.
Considerations when Writing a New Test
- Tests should test one thing only.
Imagine you have 1,000 tests and a failing test. Can you spot a single failing behavior? This does not mean you should write a single assertion. It is fine to have multiple assertions as long as they are testing the same behavior.
- Create more specific tests to drive a more generic solution (triangulate) by adding new tests that force your code to pivot.
- Give your tests meaningful names (behavior/goal-oriented names) expressing your business domain.
– Avoid technical names for tests. For example: myMethodNameReturnsSomething
.
– Avoid leaking implementation details in test names: For example: myTestReturnsFalse
or CommandPatternTest
.
– Avoid writing technical tests; you should test behaviors, not the technicality of components...