Skip to content

Latest commit

 

History

History
94 lines (54 loc) · 2.54 KB

index.rst

File metadata and controls

94 lines (54 loc) · 2.54 KB
orphan

pytest: helps you write better programs

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.

An example of a simple test:

# content of test_sample.py
def inc(x):
    return x + 1


def test_answer():
    assert inc(3) == 5

To execute it:

$ pytest
=========================== test session starts ============================
platform linux -- Python 3.x.y, pytest-4.x.y, py-1.x.y, pluggy-0.x.y
cachedir: $PYTHON_PREFIX/.pytest_cache
rootdir: $REGENDOC_TMPDIR
collected 1 item

test_sample.py F                                                     [100%]

================================= FAILURES =================================
_______________________________ test_answer ________________________________

    def test_answer():
>       assert inc(3) == 5
E       assert 4 == 5
E        +  where 4 = inc(3)

test_sample.py:6: AssertionError
========================= 1 failed in 0.12 seconds =========================

Due to pytest's detailed assertion introspection, only plain assert statements are used. See Getting Started <getstarted> for more examples.

Features

  • Detailed info on failing assert statements <assert> (no need to remember self.assert* names);
  • Auto-discovery <test discovery> of test modules and functions;
  • Modular fixtures <fixture> for managing small or parametrized long-lived test resources;
  • Can run unittest <unittest> (including trial) and nose <noseintegration> test suites out of the box;
  • Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 (untested);
  • Rich plugin architecture, with over 315+ external plugins and thriving community;

Documentation

Please see Contents <toc> for full documentation, including installation, tutorials and PDF documents.

Bugs/Requests

Please use the GitHub issue tracker to submit bugs or request features.

Changelog

Consult the Changelog <changelog> page for fixes and enhancements of each version.

License

Copyright Holger Krekel and others, 2004-2021.

Distributed under the terms of the MIT license, pytest is free and open source software.