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)

What this book covers

Chapter 1, Introducing pytest, discusses why testing is important, gives a quick overview of the standard unittest module, and finally takes a look at pytest's main features.

Chapter 2, Writing and Running Tests, covers pytest installation, how pytest uses only the assert statement for checking values, testing module organization, and some very useful command-line options for increased productivity.

Chapter 3, Markers and Parametrization, explains how pytest markers work, how to skip tests based on certain conditions, and discusses the difference between expected failures and flaky tests (and how to deal with them). Finally, we will learn how to use the parametrize mark to apply different sets of inputs to the same piece of testing code, avoiding repetition and inviting us to cover more input cases.

Chapter 4, Fixtures, explores one of pytest's more loved features, fixtures. We also go over some built-in fixtures, and finally some tips and tricks to get more out of fixtures in your test suite.

Chapter 5, Plugins, shows how to install and search for useful plugins in the rich plugin ecosystem, and it also goes over a series of assorted plugins that the author finds interesting and/or must have in their daily work.

Chapter 6, Converting unittest suites to pytest, visits a bunch of techniques that will help you start using pytest, even if all your tests are written in the unittest framework. It covers everything from running test suites out of the box with no changes, all the way to converting them to make use of pytest features with time-tested techniques.

Chapter 7, Wrapping Up, goes over the possible next steps if you want to consolidate your pytest skills. We also take a look at the friendly pytest community and how you can get more involved.