Skip to content

samuelcolvin/pytest-pretty

Repository files navigation

pytest-pretty

CI pypi versions license

Opinionated pytest plugin to make output slightly easier to read and errors easy to find and fix.

pytest-pretty's only dependencies are rich and pytest itself.

Realtime error summary

One-line info on which test has failed while tests are running:

Realtime Error Summary

Table of failures

A rich table of failures with both test line number and error line number:

Table of Failures

This is extremely useful for navigating to failed tests without having to scroll through the entire test output.

Prettier Summary of a Test Run

Including time taken for the test run:

Test Run Summary

Installation

pip install -U pytest-pretty

Usage with GitHub Actions

If you're using pytest-pretty (or indeed, just pytest) with GitHub Actions, it's worth adding the following to the top of your workflow .yml file:

env:
  COLUMNS: 120

This will mean the pytest output is wider and easier to use, more importantly, it'll make the error summary table printed by pytest-pretty much easier to read, see this discussion for more details.

pytester_pretty fixture

The pytest_pretty provides pytester_pretty fixture that work with modified version of output. It is designed to drop in places replacement of pytester fixture and uses it internaly.

So to use them it is required to set pytest_plugins = "pytester" as mentioned in pytest documentation https://docs.pytest.org/en/latest/reference/reference.html#pytester