8.1. Writing trustworthy tests
There are several indications that a test is trustworthy. If it passes, you don’t say, “I’ll step through the code in the debugger to make sure.” You trust that it passes and that the code it tests works for that specific scenario. If the test fails, you don’t tell yourself, “Oh, it’s supposed to fail,” or “That doesn’t mean the code isn’t working.” You believe that there’s a problem in your code and not in your test. In short, a trustworthy test is one that makes you feel you know what’s going on and that you can do something about it.
In this chapter, I’ll introduce guidelines and techniques to help you
- Decide when to remove or change tests
- Avoid test logic
- Test only one concern
- Separate unit from integration ...