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

Pattern – integration and system tests

Throughout this book, we've stressed the fact that unit tests are not integration tests. They have a different purpose to validating that the system works when integrated. Having said that, integration tests are also important and shouldn't be ignored. Integration tests can be written using the same unittest framework that we use for writing unit tests. The key points to keep in mind when writing integration tests are as follows:

  • Still disable non-core services: Keep non-core services such as analytics or logging disabled. These do not affect the functionality of the application.

  • Enable all core services: Every other service should be live. We don't want to mock or fake these because this defeats the whole purpose of an integration test.

  • Use attributes to tag integration tests: By doing this, we can easily select only the unit tests to run during development, while enabling integration tests to be run during continuous integration or before deployment...