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)

Sharing fixtures with conftest.py files

Suppose we need to use our comedy_series fixture from the previous section in other test modules. In pytest, sharing fixtures is easily done by just moving the fixture code to a conftest.py file.

A conftest.py file is a normal Python module, except that it is loaded automatically by pytest, and any fixtures defined in it are available to test modules in the same directory and below automatically. Consider this test module hierarchy:

tests/
ratings/
series.csv
test_ranking.py
io/
conftest.py
test_formats.py
conftest.py

The tests/conftest.py file is at the root of the hierarchy, so any fixtures defined on it are automatically available to all other test modules in this project. Fixtures in tests/io/conftest.py will be available only to modules at and below tests/io, so only to test_formats.py for now.

...