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
Python Testing with pytest
Test applications, packages, and libraries large and small with pytest, Python's most powerful testing framework. pytest …
book
Hypermodern Python Tooling
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box …
book
Automate the Boring Stuff with Python, 2nd Edition
If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how …
book
Using Asyncio in Python
If you’re among the Python developers put off by asyncio’s complexity, it’s time to take another …