Test these things:
- Public functions and their return values
- Edge cases (empty inputs, boundaries)
- Error conditions
- State changes
Don't test:
- Third-party library internals
- Trivial code (getters, setters)
- Implementation details that may change
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
Focus your testing efforts
Test these things:
Don't test: