A pytest plugin to doctest your markdown files.
Help you test your python blocks in markdown in doctest
style, and make sure them behaving as you expected. This is especially helpful when dealing with markdown files containing many demo code, such as
- A project documented in markdown files,
- A tutorial on python written in markdown.
- python>=3.7
- pytest>=6
You can install "pytest-markdoctest" via pip from PyPI:
$ pip install pytest-markdoctest
To test a single markdown file:
$ pytest docs/index.md
or test all markdown files in a directory:
$ pytest docs/
Your markdown file may contains REPL block (Read-Eval-Print-Loop).
>>> 2 + 3
5
>>> print("Hello World!")
Hello World!
Or script block.
import math
def square(x):
return x*x
Variables/functions defined before are accessible in subsequent blocks.
>>> math.pow(2, 2)
4.0
>>> square(2)
4
Markdoctest automatically find all code blocks tagged by python
, py
, pycon
and test them.
Directives are allowed to control testing behavior.
<!-- doctest: +SKIP -->
```python
import math
a = 3 / 0
```
Distributed under the terms of the MIT license, "pytest-markdoctest" is free and open source software
This pytest plugin was generated with Cookiecutter along with @hackebrot's cookiecutter-pytest-plugin template.