Search code examples
pythontestingpytestdoctest

How to make pytest run doctests as well as normal tests directory?


We currently have pytest with the coverage plugin running over our tests in a tests directory.

What's the simplest way to also run doctests extracted from our main code? --doctest-modules doesn't work (probably since it just runs doctests from tests). Note that we want to include doctests in the same process (and not simply run a separate invocation of py.test) because we want to account for doctest in code coverage.


Solution

  • Now it is implemented :-).

    To use, either run py.test --doctest-modules command, or set your configuration with pytest.ini:

    $ cat pytest.ini
    # content of pytest.ini
    [pytest]
    addopts = --doctest-modules
    

    Man page: PyTest: doctest integration for modules and test files.