Book Image

Test-Driven Python Development

By : Siddharta Govindaraj
Book Image

Test-Driven Python Development

By: Siddharta Govindaraj

Overview of this book

This book starts with a look at the test-driven development process, and how it is different from the traditional way of writing code. All the concepts are presented in the context of a real application that is developed in a step-by-step manner over the course of the book. While exploring the common types of smelly code, we will go back into our example project and clean up the smells that we find. Additionally, we will use mocking to implement the parts of our example project that depend on other systems. Towards the end of the book, we'll take a look at the most common patterns and anti-patterns associated with test-driven development, including integration of test results into the development process.
Table of Contents (20 chapters)
Test-Driven Python Development
About the Author
About the Reviewers

The importance of tests

The Extract Class refactoring shows the importance of having a good unit test suite as well as running it frequently during the refactoring. It is easy to overlook small things when moving code around, which could end up breaking the code. By running the tests often, we know immediately when we break something. This makes it easy to fix the mistake. Had we done the whole refactoring before running the tests, it would have not been clear which step in the refactoring broke the tests, and we would have to go back and debug the whole refactoring.

One more thing that we need to do is to adjust the tests after the refactoring is complete. In some refactorings, such as Extract Class, we may find that we have to also move tests to the new class. For instance, if we had any tests for the _get_closing_price_list method, then we would move those tests over to the TimeSeries class. In this case, since the method was not public, we didn't write tests for them and we didn't have...