{ "info": { "author": "megachweng", "author_email": "megachweng@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Testing" ], "description": "# Welcome to pytest-informative-node\n[![PyPi version](https://img.shields.io/pypi/v/pytest-informative-node.svg)](https://pypi.org/project/pytest-informative-node/)\n![Python version](https://img.shields.io/pypi/pyversions/pytest-informative-node.svg)\n[![Build Status](https://travis-ci.com/megachweng/pytest-informative-node.svg?branch=master)](https://travis-ci.com/megachweng/pytest-informative-node)\n[![codecov](https://codecov.io/gh/megachweng/pytest-informative-node/branch/master/graph/badge.svg)](https://codecov.io/gh/megachweng/pytest-informative-node) \n\nDisplay more node information.\n\n## Requirements\n* pytest >= 3.10.0\n* python >= 3.6\n\n**Not compatible with Python2.x**\n\n## How to install\n`$ pip install pytest-informative-node`\n## How to use\n```ini\n# pytest.ini\n[pytest]\n[informative_node_id]\nenable : true\ndelimiter : @\n```\n\nwrite docstring with `leading delimiter` you defined in `pytest.ini [informative_node_id]` section as node name.\n```python\nclass TestClass:\n \"\"\"@you node id\"\"\"\n\ndef test_func():\n \"\"\"@you node id\"\"\"\n``` \n> Test file and Test Package is also supported, just write docstring in the top of file and `__init__.py` respectively.\n## Options\n> **Notice!** `[pytest]`section **must** be included. \n> **Notice!** All options bellow **must** be under `[informative_node_id]` section in `pytest.ini`.\n* `enable` : [true / false] default is `false`. \n* `delimiter` : the delimiter to extract node_id in docstring, default is `@`.\n\n## Example\n```python\n# Test file structure\nscenario\n|\n|__functionality\n |__ __init__.py\n | |# content of __init__.py\n | |\"\"\"@LoginSection\"\"\"\n | #\\---------------------\n |\n |__ test_one.py\n |# content of __init__.py\n | \"\"\"@TestFile\"\"\"\n | import pytest\n | class TestClass:\n | \"\"\"@TestGroup\"\"\"\n | \n | @pytest.mark.parametrize('n', [1, 2], ids=['first', 'second'])\n | def test_demo(self, n):\n | \"\"\"@DemoTest\"\"\"\n | assert n == 1\n #\\-----------------------\n```\n```text\n# Test report structure\n\u2715LoginSection\n|\n|__ \u2715TestFile\n |\n |__ \u2715TestGroup\n |\n |__ \u2715Demo Test\n |__ \u2713first\n |__ \u2715second\n\n```\n>**Notice:** Duplicate custom node id under same test level is not allowed. \ne.g.\n```python\ndef test_a():\n \"\"\"@ login\"\"\"\ndef test_b():\n \"\"\"@ login\"\"\" # <-----XXXXXX!\n```\n## Contributing\nContributions are very welcome. Tests can be run with [tox](https://tox.readthedocs.io/en/latest/), please ensure\nthe coverage at least stays the same before you submit a pull request.\n\n## License\nDistributed under the terms of the [MIT](http://opensource.org/licenses/MIT) license, \"pytest-informative-node\" is free and open source software\n\n\n## Known Issue\n* If you test with Pycharm, you cannot navigate back to source test file from Test Runner tab.", "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/megachweng/pytest-informative-node", "keywords": "", "license": "MIT", "maintainer": "megachweng", "maintainer_email": "megachweng@gmail.com", "name": "pytest-informative-node", "package_url": "https://pypi.org/project/pytest-informative-node/", "platform": "", "project_url": "https://pypi.org/project/pytest-informative-node/", "project_urls": { "Homepage": "https://github.com/megachweng/pytest-informative-node" }, "release_url": "https://pypi.org/project/pytest-informative-node/1.0.0/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "display more node ininformation.", "version": "1.0.0" }, "last_serial": 5185900, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a8852cdc6267e5a3530b1adf23425989", "sha256": "3add24e9055b957c64ae9ad8224eb5a57a7d64ffae958e69f48335f9ee322e46" }, "downloads": -1, "filename": "pytest-informative-node-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a8852cdc6267e5a3530b1adf23425989", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 4687, "upload_time": "2018-11-23T09:48:00", "url": "https://files.pythonhosted.org/packages/94/df/87f52cce7421ece95da502ab74584bd0bce0a4223ca063a2b8261cc7655a/pytest-informative-node-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0a9aef0f3d67b77f86ab4e005988ac00", "sha256": "8cef7c3019ed20d3a4a60d3d41872a4b38242f8ae7fadc6f92a12e1966c3339b" }, "downloads": -1, "filename": "pytest-informative-node-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0a9aef0f3d67b77f86ab4e005988ac00", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 4736, "upload_time": "2018-11-23T10:01:35", "url": "https://files.pythonhosted.org/packages/1f/6c/0ba1773a31871a862ac0364e4ec4954fb8fae8011e14fd9eaf679dc8127c/pytest-informative-node-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a3acfa8d1fd505579934306ce4596ac7", "sha256": "3217d64131427698d328c22d69fedb08efffa5c7bcb0ba818a4e253a94eebfbe" }, "downloads": -1, "filename": "pytest-informative-node-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a3acfa8d1fd505579934306ce4596ac7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 4796, "upload_time": "2019-04-25T03:28:55", "url": "https://files.pythonhosted.org/packages/26/4f/6585f4c6f27f5abbb046cf9bba55f88d5b1a5e34037d8117f6c7910871c9/pytest-informative-node-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "bd0a92130f837ff4988c6b898ccadee8", "sha256": "80b45ea213201e8c5fb44cb5ec5c1ae1a2cb9459328594e9f55c7ca4cb78a8ce" }, "downloads": -1, "filename": "pytest-informative-node-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bd0a92130f837ff4988c6b898ccadee8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 4796, "upload_time": "2018-12-06T07:09:58", "url": "https://files.pythonhosted.org/packages/93/1d/e5519d5ac26b3257c2916f14b8675a9ea508c1b09593df6028096324a495/pytest-informative-node-0.2.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "13021c560416dee3a098c9021899f309", "sha256": "4cb7961902cdb0411ca00b21f388cff145d962709165ae6d36697c8a81fc2489" }, "downloads": -1, "filename": "pytest-informative-node-1.0.0.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "13021c560416dee3a098c9021899f309", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 5871, "upload_time": "2019-04-25T03:33:52", "url": "https://files.pythonhosted.org/packages/05/f3/5ae85a490a7f98e6140e1fd003802e40c7aa0c1560053e98fcb85cff1156/pytest-informative-node-1.0.0.macosx-10.13-x86_64.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "13021c560416dee3a098c9021899f309", "sha256": "4cb7961902cdb0411ca00b21f388cff145d962709165ae6d36697c8a81fc2489" }, "downloads": -1, "filename": "pytest-informative-node-1.0.0.macosx-10.13-x86_64.tar.gz", "has_sig": false, "md5_digest": "13021c560416dee3a098c9021899f309", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 5871, "upload_time": "2019-04-25T03:33:52", "url": "https://files.pythonhosted.org/packages/05/f3/5ae85a490a7f98e6140e1fd003802e40c7aa0c1560053e98fcb85cff1156/pytest-informative-node-1.0.0.macosx-10.13-x86_64.tar.gz" } ] }