pytest-md 0.2.0


pip install pytest-md

  Latest version

Released: Jul 11, 2019

Project Links

Meta
Author: Raphael Pierzina
Maintainer: Raphael Pierzina
Requires Python: >=3.6

Classifiers

Development Status
  • 3 - Alpha

Framework
  • Pytest

Intended Audience
  • Developers

Topic
  • Software Development :: Testing

Programming Language
  • Python
  • Python :: 3
  • Python :: 3.6
  • Python :: 3.7
  • Python :: Implementation :: CPython

Operating System
  • OS Independent

License
  • OSI Approved :: MIT License

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.

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras: None
Dependencies:
pytest (>=4.2.1)