DEV Community

ruthmoog
ruthmoog

Posted on

Book Club: "Test Driven Development: By Example" #6

Chapter 6: Equality for All, Redux

This chapter could be called VINDICATION; we are going to refactor Dollar and Franc to extend a Money superclass. This is a nice walkthrough of a mindful refactor, where we make iterative changes and keep re-running the tests.

Beck touches on the difficulty of working in a codebase that doesn't have adequate existing tests. He says to,

Write the tests you wish you had ... Retroactively test before refactoring.

This is easy to do in our Money scenario, but it's no wonder that this can go wrong; if the existing tests don't explain the proper behavior this can be confusing: how do I retrospectively know what tests I wish I had?

p.s. I messed up the commits here, having apparently forgotten to commit my changes from chapter 5. I decided to win back some honour and re-do chapters 5 and 6. In the process, I found that the natural way to duplicate the code for Franc was to copy the file in the IDE and paste it into the same folder, using the new class name. I only needed to rename the variable in the Franc.equals method.

πŸ”Ž View my code-along repo at https://github.com/ruthmoog/test-driven-development-by-example


Book cover Kent Beck's "Test Driven Development: By Example" was released in 2002. The book aims to explain how to use TDD to write quality code that works.

Discussion (1)