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)

Mark basics

Pytest allows you to mark functions and classes with metadata. This metadata can be used to selectively run tests, and is also available for fixtures and plugins, to perform different tasks. Let's take a look at how to create and apply marks to test functions, and later on jump into built-in pytest marks.

Creating marks

Marks are created with the @pytest.mark decorator. It works as a factory, so any access to it will automatically create a new mark and apply it to a function. This is easier to understand with an example:

@pytest.mark.slow
def test_long_computation():
...

By using the @pytest.mark.slow decorator, you are applying a mark named slow to test_long_computation.

Marks can also receive parameters...