pytest-md
Plugin for generating Markdown reports for pytest results 📝
Installation
pytest-md is available on PyPI for Python versions 3.6 and newer
and can be installed into your enviroment from your terminal via pip:
$ pip install pytest-md
Usage
The following example code produces all of the different pytest test outcomes.
import random
import pytest
def test_failed():
assert "emoji" == "hello world"
@pytest.mark.xfail
def test_xfailed():
assert random.random() == 1.0
@pytest.mark.xfail
def test_xpassed():
assert 0.0 < random.random() < 1.0
@pytest.mark.skip(reason="don't run this test")
def test_skipped():
assert "pytest-emoji" != ""
@pytest.mark.parametrize(
"name, expected",
[
("Sara", "Hello Sara!"),
("Mat", "Hello Mat!"),
("Annie", "Hello Annie!"),
],
)
def test_passed(name, expected):
assert f"Hello {name}!" == expected
@pytest.fixture
def number():
return 1234 / 0
def test_error(number):
assert number == number
With pytest-md installed, you can now generate a Markdown test report as
follows:
$ pytest --md report.md
# Test Report
*Report generated on 25-Feb-2019 at 17:18:29 by [pytest-md]*
[pytest-md]: https://github.com/hackebrot/pytest-md
## Summary
8 tests ran in 0.05 seconds
- 1 failed
- 3 passed
- 1 skipped
- 1 xfailed
- 1 xpassed
- 1 error
pytest-emoji
pytest-md also integrates with pytest-emoji, which allows us to include
emojis in the generated Markdown test report:
$ pytest --emoji -v --md report.md
# Test Report
*Report generated on 25-Feb-2019 at 17:18:29 by [pytest-md]* 📝
[pytest-md]: https://github.com/hackebrot/pytest-md
## Summary
8 tests ran in 0.06 seconds ⏱
- 1 failed 😰
- 3 passed 😃
- 1 skipped 🙄
- 1 xfailed 😞
- 1 xpassed 😲
- 1 error 😡
Credits
This project is inspired by the fantastic pytest-html plugin! 💻
Would you like to contribute to pytest-md? You're awesome! 😃
Please check out the good first issue label for tasks, that
are good candidates for your first contribution to pytest-md. Your
contributions are greatly appreciated! Every little bit helps, and credit will
always be given! Find out who has already contributed to pytest-md
here! 🌍🌏🌎
Please note that pytest-md is released with a Contributor Code of
Conduct. By participating in this project you agree to abide
by its terms.
License
Distributed under the terms of the MIT license, pytest-md is free and open
source software.