About This Book Write robust and easily maintainable code using the principles of test driven developmentGet solutions to real-world problems faced by Python developersGo from a unit testing beginner to a master through a series of step-by-step tutorials that are easy to follow Who This Book Is For This book is intended for Python developers who want to use the principles of test-driven development (TDD) to create efficient and robust applications. In order to get the best out of this book, you should have development experience with Python. What You Will Learn Implement the test-driven development process in Python applications Fully leverage Python's powerful built-in unittest and doctest modules Effectively add features to existing code bases that do not have any tests Safely resolve problems with the code and design, without breaking any functionality Utilize Python's powerful mock and patch functionality to test complex interactions Integrate unit testing into the overall software delivery process Use doctest to test code with examples Enhance TDD with the nose2 test runner In Detail 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.