{ "info": { "author": "Raphael Pierzina", "author_email": "raphael@hackebrot.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Testing" ], "description": "# pytest-md\n\nPlugin for generating Markdown reports for [pytest] results \ud83d\udcdd\n\n[pytest]: https://github.com/pytest-dev/pytest\n\n## Installation\n\n**pytest-md** is available on [PyPI][PyPI] for Python versions 3.6 and newer\nand can be installed into your enviroment from your terminal via [pip][pip]:\n\n```text\n$ pip install pytest-md\n```\n\n[PyPI]: https://pypi.org/\n[pip]: https://pypi.org/project/pip/\n\n## Usage\n\nThe following example code produces all of the different pytest test outcomes.\n\n```python\nimport random\nimport pytest\n\n\ndef test_failed():\n assert \"emoji\" == \"hello world\"\n\n\n@pytest.mark.xfail\ndef test_xfailed():\n assert random.random() == 1.0\n\n\n@pytest.mark.xfail\ndef test_xpassed():\n assert 0.0 < random.random() < 1.0\n\n\n@pytest.mark.skip(reason=\"don't run this test\")\ndef test_skipped():\n assert \"pytest-emoji\" != \"\"\n\n\n@pytest.mark.parametrize(\n \"name, expected\",\n [\n (\"Sara\", \"Hello Sara!\"),\n (\"Mat\", \"Hello Mat!\"),\n (\"Annie\", \"Hello Annie!\"),\n ],\n)\ndef test_passed(name, expected):\n assert f\"Hello {name}!\" == expected\n\n\n@pytest.fixture\ndef number():\n return 1234 / 0\n\n\ndef test_error(number):\n assert number == number\n```\n\nWith **pytest-md** installed, you can now generate a Markdown test report as\nfollows:\n\n```text\n$ pytest --md report.md\n```\n\n```Markdown\n# Test Report\n\n*Report generated on 25-Feb-2019 at 17:18:29 by [pytest-md]*\n\n[pytest-md]: https://github.com/hackebrot/pytest-md\n\n## Summary\n\n8 tests ran in 0.05 seconds\n\n- 1 failed\n- 3 passed\n- 1 skipped\n- 1 xfailed\n- 1 xpassed\n- 1 error\n```\n\n## pytest-emoji\n\n**pytest-md** also integrates with [pytest-emoji], which allows us to include\nemojis in the generated Markdown test report:\n\n```text\n$ pytest --emoji -v --md report.md\n```\n\n```Markdown\n# Test Report\n\n*Report generated on 25-Feb-2019 at 17:18:29 by [pytest-md]* \ud83d\udcdd\n\n[pytest-md]: https://github.com/hackebrot/pytest-md\n\n## Summary\n\n8 tests ran in 0.06 seconds \u23f1\n\n- 1 failed \ud83d\ude30\n- 3 passed \ud83d\ude03\n- 1 skipped \ud83d\ude44\n- 1 xfailed \ud83d\ude1e\n- 1 xpassed \ud83d\ude32\n- 1 error \ud83d\ude21\n```\n\n[pytest-emoji]: https://github.com/hackebrot/pytest-emoji\n\n## Credits\n\nThis project is inspired by the fantastic [pytest-html] plugin! \ud83d\udcbb\n\n[pytest-html]: https://github.com/pytest-dev/pytest-html\n\n## Community\n\nWould you like to contribute to **pytest-md**? You're awesome! \ud83d\ude03\n\nPlease check out the [good first issue][good first issue] label for tasks, that\nare good candidates for your first contribution to **pytest-md**. Your\ncontributions are greatly appreciated! Every little bit helps, and credit will\nalways be given! Find out who has already contributed to **pytest-md**\n[here][community]! \ud83c\udf0d\ud83c\udf0f\ud83c\udf0e\n\nPlease note that **pytest-md** is released with a [Contributor Code of\nConduct][code of conduct]. By participating in this project you agree to abide\nby its terms.\n\n[good first issue]: https://github.com/hackebrot/pytest-md/labels/good%20first%20issue\n[code of conduct]: https://github.com/hackebrot/pytest-md/blob/master/CODE_OF_CONDUCT.md\n[community]: https://github.com/hackebrot/pytest-md/blob/master/CONTRIBUTORS.md\n\n## License\n\nDistributed under the terms of the MIT license, **pytest-md** is free and open\nsource software.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hackebrot/pytest-md", "keywords": "pytest,markdown", "license": "MIT", "maintainer": "Raphael Pierzina", "maintainer_email": "raphael@hackebrot.de", "name": "pytest-md", "package_url": "https://pypi.org/project/pytest-md/", "platform": "", "project_url": "https://pypi.org/project/pytest-md/", "project_urls": { "Homepage": "https://github.com/hackebrot/pytest-md" }, "release_url": "https://pypi.org/project/pytest-md/0.2.0/", "requires_dist": [ "pytest (>=4.2.1)" ], "requires_python": ">=3.6", "summary": "Plugin for generating Markdown reports for pytest results", "version": "0.2.0" }, "last_serial": 5516001, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3a7792aef64182aa5b045da438df5a9c", "sha256": "290028bfeb9ea6e685cb5ff8ed13f3e45a071db4f1630934895fdbddcb887ee6" }, "downloads": -1, "filename": "pytest_md-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3a7792aef64182aa5b045da438df5a9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 2666, "upload_time": "2019-02-21T11:33:24", "url": "https://files.pythonhosted.org/packages/55/8a/dc6f62ddd2a1d33c5b649f5bca1cfc016d9a3be51585eb38873789e1127a/pytest_md-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "624d964015176e6592fa0176adbdf7bb", "sha256": "e3be230268143b3c5752c2ff5cfca3e2610a2abb96d5903a6ae23fa9fa7bb856" }, "downloads": -1, "filename": "pytest-md-0.1.0.tar.gz", "has_sig": false, "md5_digest": "624d964015176e6592fa0176adbdf7bb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2574, "upload_time": "2019-02-21T11:33:26", "url": "https://files.pythonhosted.org/packages/a2/c1/5cd7f4f18d459c48f18ea2b13440c0e20f0d195c632a9dba02f9f27f5a75/pytest-md-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ccea2f22323a8aa70d616b6c92046c13", "sha256": "e52f84ef23dd3bc52fd98718a540ea1105673c17d718466ba9dd233450519840" }, "downloads": -1, "filename": "pytest_md-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ccea2f22323a8aa70d616b6c92046c13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4447, "upload_time": "2019-02-21T15:35:54", "url": "https://files.pythonhosted.org/packages/5b/07/f3ea0aec02d80e5921e4e853a7c72735daca28f0013f3a2c9e9701155bac/pytest_md-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1306db6d222e7fbaeeb72b699a98e2b6", "sha256": "40a0cf94c4d3f4888aee1e3bb09a8668858a7d76154c17e19f4038310793aecc" }, "downloads": -1, "filename": "pytest-md-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1306db6d222e7fbaeeb72b699a98e2b6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4005, "upload_time": "2019-02-21T15:35:55", "url": "https://files.pythonhosted.org/packages/8b/04/40cafe6bdd2ba05f743735371851d67f9036aaffbc15c63fd7597be30b5f/pytest-md-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ef792d8148ae1660492c8ed53fdb340e", "sha256": "4c4cd16fea6d1485e87ee254558712c804a96d2aa9674b780e7eb8fb6526e1d1" }, "downloads": -1, "filename": "pytest_md-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ef792d8148ae1660492c8ed53fdb340e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6117, "upload_time": "2019-07-11T08:15:57", "url": "https://files.pythonhosted.org/packages/80/71/23d03f57c18116c6770141478e33b3500c4e92500cf4b49a396e9226733f/pytest_md-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98f164541200185558757a879458129e", "sha256": "3b248d5b360ea5198e05b4f49c7442234812809a63137ec6cdd3643a40cf0112" }, "downloads": -1, "filename": "pytest-md-0.2.0.tar.gz", "has_sig": false, "md5_digest": "98f164541200185558757a879458129e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5985, "upload_time": "2019-07-11T08:15:59", "url": "https://files.pythonhosted.org/packages/0e/55/1d4248f08a97255abb23b05d8ba07586333194fadb17beda96b707aebecd/pytest-md-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef792d8148ae1660492c8ed53fdb340e", "sha256": "4c4cd16fea6d1485e87ee254558712c804a96d2aa9674b780e7eb8fb6526e1d1" }, "downloads": -1, "filename": "pytest_md-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ef792d8148ae1660492c8ed53fdb340e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6117, "upload_time": "2019-07-11T08:15:57", "url": "https://files.pythonhosted.org/packages/80/71/23d03f57c18116c6770141478e33b3500c4e92500cf4b49a396e9226733f/pytest_md-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98f164541200185558757a879458129e", "sha256": "3b248d5b360ea5198e05b4f49c7442234812809a63137ec6cdd3643a40cf0112" }, "downloads": -1, "filename": "pytest-md-0.2.0.tar.gz", "has_sig": false, "md5_digest": "98f164541200185558757a879458129e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5985, "upload_time": "2019-07-11T08:15:59", "url": "https://files.pythonhosted.org/packages/0e/55/1d4248f08a97255abb23b05d8ba07586333194fadb17beda96b707aebecd/pytest-md-0.2.0.tar.gz" } ] }