October 2013
Intermediate to advanced
368 pages
9h 20m
English
Your first reaction to test doubles may be that using them will change your approach to design. You might find that prospect unsettling. Don’t worry, it’s a natural response.
When faced with a troublesome dependency (such as a slow or volatile collaborator), the best option is to isolate it to a separate class. Granted, making an HTTP request isn’t very involved. Putting the logic in a small, separate Http class might not seem worth the effort, but you’ll have more potential for reuse and more design flexibility (the ability to replace it with a polymorphic substitute, for example). You’ll also have a few more options when it comes to creating a test double.
The alternative is to create more procedural, ...