Book description
Do less work when testing your Python code, but be just as expressive, just as elegant, and just as readable. The pytest testing framework helps you write tests quickly and keep them readable and maintainable - with no boilerplate code. Using a robust yet simple fixture model, it's just as easy to write small tests with pytest as it is to scale up to complex functional testing for applications, packages, and libraries. This book shows you how.
For Python-based projects, pytest is the undeniable choice to test your code if you're looking for a full-featured, API-independent, flexible, and extensible testing framework. With a full-bodied fixture model that is unmatched in any other tool, the pytest framework gives you powerful features such as assert rewriting and plug-in capability - with no boilerplate code.
With simple step-by-step instructions and sample code, this book gets you up to speed quickly on this easy-to-learn and robust tool. Write short, maintainable tests that elegantly express what you're testing. Add powerful testing features and still speed up test times by distributing tests across multiple processors and running tests in parallel. Use the built-in assert statements to reduce false test failures by separating setup and test failures. Test error conditions and corner cases with expected exception testing, and use one test to run many test cases with parameterized testing. Extend pytest with plugins, connect it to continuous integration systems, and use it in tandem with tox, mock, coverage, unittest, and doctest.
Write simple, maintainable tests that elegantly express what you're testing and why.
What You Need:
The examples in this book are written using Python 3.6 and pytest 3.0. However, pytest 3.0 supports Python 2.6, 2.7, and Python 3.3-3.6.
Publisher resources
Table of contents
- Acknowledgments
- Preface
- 1. Getting Started with pytest
- 2. Writing Test Functions
-
3. pytest Fixtures
- Sharing Fixtures Through conftest.py
- Using Fixtures for Setup and Teardown
- Tracing Fixture Execution with –setup-show
- Using Fixtures for Test Data
- Using Multiple Fixtures
- Specifying Fixture Scope
- Specifying Fixtures with usefixtures
- Using autouse for Fixtures That Always Get Used
- Renaming Fixtures
- Parametrizing Fixtures
- Exercises
- What’s Next
- 4. Builtin Fixtures
- 5. Plugins
-
6. Configuration
- Understanding pytest Configuration Files
- Changing the Default Command-Line Options
- Registering Markers to Avoid Marker Typos
- Requiring a Minimum pytest Version
- Stopping pytest from Looking in the Wrong Places
- Specifying Test Directory Locations
- Changing Test Discovery Rules
- Disallowing XPASS
- Avoiding Filename Collisions
- Exercises
- What’s Next
- 7. Using pytest with Other Tools
- A1. Virtual Environments
- A2. pip
- A3. Plugin Sampler Pack
- A4. Packaging and Distributing Python Projects
- A5. xUnit Fixtures
Product information
- Title: Python Testing with pytest
- Author(s):
- Release date: September 2017
- Publisher(s): Pragmatic Bookshelf
- ISBN: 9781680502404
You might also like
book
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd Edition
Through a recent series of breakthroughs, deep learning has boosted the entire field of machine learning. …
book
Essential SQLAlchemy, 2nd Edition
Dive into SQLAlchemy, the popular, open-source code library that helps Python programmers work with relational databases …
book
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. …
book
Robust Python
Does it seem like your Python projects are getting bigger and bigger? Are you feeling the …