Are you looking for 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 the unit test, 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.
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.
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 into 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.
What You Will Learn
- Get started with the basics of writing automated unit tests and asserting results
- Use Nose to discover tests and build suites automatically
- Write Nose plugins that control what tests are discovered and how to produce test reports
- Add testable documentation to your code
- Filter out test noise, customize test reports, and tweak doctest’s to meet your needs
- Write testable stories using lots of tools including doctest, mocks, Lettuce, and Should DSL
- Get started with the basics of customer-oriented acceptance testing
- Test the web security of your application
- Configure Jenkins and TeamCity to run your test suite upon check-in
- Capture test coverage reports in lots of formats, and integrate with Jenkins and Nose
- Take the pulse of your system with a quick smoke test and overload your system to find its breaking points
- Add automated testing to an existing legacy system that isn’t test-oriented
Greg L. Turnquist has worked in the software industry since 1997. He is an active participant in the open source community and has contributed patches to several projects, including MythTV, Spring Security, MediaWiki, and the TestNG Eclipse plugin. As a test-obsessed script junky, he has always sought the right tool for the job. He is a firm believer in agile practices and automated testing. He has developed distributed systems and LAMP-based setups, and he has supported mission-critical systems hosted on various platforms.
After graduating from Auburn University with a master’s in computer engineering, Greg started working with the Harris Corporation. He worked on many contracts utilizing many types of technology. In 2006, he created the Spring Python project and went on to write Spring Python 1.1 in 2010. He joined SpringSource, a division of VMware in 2010, as part of its international software development team.