Skip to main content

pytest plugin to test codeblocks in your documentation.

Project description

pytest_docfiles

Build Status PyPI Downloads License

pytest plugin to test code sections in your documentation.

Installation

pip install pytest_docfiles

Usage

Define code sections in your markdown files.

<!-- doc.md -->
# Hello World
```python
print("hello world!")
```

run pytest on your markdown files with the --docfiles flag.

pytest --docfiles doc.md

Features

Section Names

Define names for your code sections so they can be better identified in your pytest output

<!-- doc.md -->
```python {"name": "my-section"}
print("hello world")
```
$ pytest --docfiles doc.md
...
doc.md::my-section PASSED
...

Fixtures

Define your fixtures in conftest.py as usual

# conftest.py

import pytest

@pytest.fixture
def custom_fixture() -> str:
    return "fixture value"

@pytest.fixture(autouse=True)
def autouse() -> None:
    """autouse fixtures are used in each code section"""

use the fixtures in your code sections

<!-- doc.md -->
```python {"fixtures": ["custom_fixture"]}
assert custom_fixture == "fixture value"
```

Scopes

Code section depending on other code section can be executed in scopes.

```python {"scope": "my-scope"}
value = True
```
```python {"scope": "my-scope"}
assert value is True
```

Skip Sections

```python {"skip": true}
raise Exception("this section should not run")
```

Exception Handling

```python {"raises": "RuntimeError"}
raise RuntimeError("this section should pass")
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pytest_docfiles-0.2.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file pytest_docfiles-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pytest_docfiles-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for pytest_docfiles-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 396536c79a8c895f3743c8ebd765bcb827f0c2d276de0e3e3a53e66b9403b7e1
MD5 1e0a43af8d196e3213a66f09ab8da656
BLAKE2b-256 973f5c6fc7f295c45eefb2ceb381803b56e4f0be5de6ba743948741a241dfba9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page