Setup

In the prior three chapters, you test-drove a stand-alone class and learned all about the fundamentals of TDD. If only life were so simple! The reality is that objects must work with other objects (collaborators) in a production OO system. Sometimes the dependencies on collaborators can cause pesky challenges for test-driving—they can be slow, unstable, or not even around to help you yet.

In this chapter, you’ll learn how to brush away those challenges using test doubles. You’ll first learn how to break dependencies using handcrafted test doubles. You’ll then see how you might simplify the creation of test doubles by using a tool. You’ll learn about different ways of setting up your code so that it can use test doubles (also known as

Get Modern C++ Programming with Test-Driven Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.