Spying to Sense Using a Mock

One of the goals of writeSnippet is to send the total seconds to the descriptor. In the prior section, we inspected this value by turning it into a member variable. We can instead have the WavReader use a test double of the descriptor that captures the total seconds sent to it.

You learned about how to create test doubles using Google Mock in Chapter 5, Test Doubles. Since we’re using CppUTest for our current example, we’ll use its own mock tool, CppUMock. As with Google Mock, we define a derivative of WavDescriptor that will spy on messages sent to its add function.

wav/15/WavReaderTest.cpp
 
class​ MockWavDescriptor : ​public​ WavDescriptor {
 
public​:
 
MockWavDescriptor(): WavDescriptor(​""​) {}
 
void​ add( ...

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.