Book Image

pytest Quick Start Guide

By : Bruno Oliveira
Book Image

pytest Quick Start Guide

By: Bruno Oliveira

Overview of this book

Python's standard unittest module is based on the xUnit family of frameworks, which has its origins in Smalltalk and Java, and tends to be verbose to use and not easily extensible.The pytest framework on the other hand is very simple to get started, but powerful enough to cover complex testing integration scenarios, being considered by many the true Pythonic approach to testing in Python. In this book, you will learn how to get started right away and get the most out of pytest in your daily work?ow, exploring powerful mechanisms and plugins to facilitate many common testing tasks. You will also see how to use pytest in existing unittest-based test suites and will learn some tricks to make the jump to a pytest-style test suite quickly and easily.
Table of Contents (9 chapters)

Fixtures

In the previous chapter, we learned how to use marks and parametrization effectively to skip tests, mark them as expected to fail, and parameterize them, to avoid repetition.

Tests in the real world often need to create resources or data to work on: a temporary directory to output some files to, a database connection to test the I/O layer of an application, a web server for integration testing. Those are all examples of resources that are required in more complex testing scenarios. More complex resources often need to be cleaned up at the end of the test session: removing a temporary directory, cleaning up and disconnecting from a database, shutting down a web server. Also, these resources should be easily shared across tests, because during testing we often need to reuse a resource for different test scenarios. Some resources are costly to create, but because they are...