Skip to main content

Plugin for generating Markdown reports for pytest results

Project description

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! 💻

Community

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.

Project details


Download files

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

Source Distribution

pytest-md-0.2.0.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

pytest_md-0.2.0-py3-none-any.whl (6.1 kB view hashes)

Uploaded Python 3

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