After seen Sandi Metz’s The magic tricks of testing advice on testing, you will want to test the way she does.
This is the basic idea:
- The public methods of your class (the public API), must be tested
- The private methods don’t need be tested
Summary of tests to do:
- The incoming query methods, test the result
- The incoming command methods, test the direct public side effects
- The outgoing command methods, expect to send
- Ignore: send to self, command to self, and queries to others
Taken from the slides of the conference.