Fixing Unclean Code

What? We wrote one line of production code and three lines of test code and we have a problem? Indeed. It’s extremely easy to introduce deficient code even in a small number of lines. TDD provides the wonderful opportunity to fix such small problems as they arise, before they add up to countless small problems (or even a few big problems).

We read both the test and production code we’ve written, looking for deficiencies. We decide that the assertion in our test isn’t reader-friendly.

 
ASSERT_THAT(encoded, testing::Eq(​"A"​));

Much as the test declaration (the combination of test case and test name) should read like a sentence, we want our asserts to do the same. We introduce a using directive to help.

c2/7/SoundexTest.cpp ...

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.