Fix everyday testing problems in Python with the help of this solution-based guide
Key Features
Use powerful tools such as doctest and unittest to make testing convenient
Apply automation testing to an existing legacy system that isn't test oriented
A practical guide to ease testing in Python using real-world examples
Book DescriptionAutomated testing is the best way to increase efficiency while reducing the defects of software testing. It helps find bugs in code easily and at an early stage so that they can be tackled efficiently. This book delves into essential testing concepts used in Python to help you build robust and maintainable code.
Python Testing Cookbook begins with a brief introduction to Python's unit testing framework to help you write automated test cases. You will learn how to write suitable test sets for your software and run automated test suites with Nose. You will then work with the unittest.mock library, which allows you to replace the parts of your system that are being tested with mock objects and make assertions about how they have been used. You will also see how to apply Test-driven Development (TDD) and Behavior-driven Development (BDD) and how to eliminate issues caused by TDD. The book explains how to integrate automated tests using Continuous Integration and perform smoke/load testing. It also covers best practices and will help you solve persistent testing issues in Python. The book concludes by helping you understand how doctest works and how Selenium can be used to test code efficiently.
What you will learn
Run test cases from the command line with increased verbosity
Write a Nose extension to pick tests based on regular expressions
Create testable documentation using doctest
Use Selenium to test the Web User Interface
Write a testable story with Voidspace Mock and Nose
Configure TeamCity to run Python tests on commit
Update project-level scripts to provide coverage reports
Who this book is forIf you're a Python developer who wants to take testing to the next level and would like to expand your testing skills, this book is for you. It is assumed that you have some Python programming knowledge.