Book Image

Python Testing Cookbook

By : Greg L. Turnquist
Book Image

Python Testing Cookbook

By: Greg L. Turnquist

Overview of this book

<p>Are you looking at new ways to write better, more efficient tests? Are you struggling to add automated testing to your existing system? The Python unit testing framework, originally referred to as "PyUnit" and now known as unittest, is a framework that makes it easier for you to write automated test suites efficiently in Python. This book will show you exactly how to squeeze every ounce of value out of automated testing.<br /><br />The Python Testing Cookbook will empower you to write tests using lots of Python test tools, code samples, screenshots, and detailed explanations. By learning how and when to write tests at every level, you can vastly improve the quality of your code and your personal skill set. Packed with lots of test examples, this will become your go-to book for writing good tests.<br /><br />This practical cookbook covers lots of test styles including unit-level, test discovery, doctest, BDD, acceptance, smoke, and load testing. It will guide you to use popular Python tools effectively and discover how to write custom extensions. You will learn how to use popular continuous integration systems like Jenkins (formerly known as Hudson) and TeamCity to automatically test your code upon check in. This book explores Python's built-in ability to run code found embedded in doc strings and also plugging in to popular web testing tools like Selenium. By the end of this book, you will be proficient in many test tactics and be ready to apply them to new applications as well as legacy ones.</p> <p>&nbsp;</p>
Table of Contents (16 chapters)
Python Testing Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Getting nosy with doctest


Up to this point, we have been either appending modules with a test runner, or we have typed python -m doctest <module> on the command line to exercise our tests.

In the previous chapter, we introduced the powerful library nose (refer to http://somethingaboutorange.com/mrl/projects/nose for more details).

For a quick recap, nose:

  • Provides us with the convenient test discovering tool nosetests

  • Is pluggable, with a huge ecosystem of available plugins

  • Includes a built-in plugin targeted at finding doctests and running them

Getting ready

We need to activate our virtual environment (virtualenv) and then install nose for this recipe.

  1. Create a virtual environment, activate it, and verify the tools are working.

  2. Using pip, install nose.

    Note

    This recipe assumes you have built all of the previous recipes in this chapter. If you have built only some of them, your results may appear different.

How to do it...

  1. Run nosetests –with-doctest against all the modules in this folder. If...