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.

Files for pytest-md, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size pytest_md-0.2.0-py3-none-any.whl (6.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pytest-md-0.2.0.tar.gz (6.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page