{ "info": { "author": "Petr Viktorin", "author_email": "encukou@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Pytest", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pytest-level\n\nMark test cases with a *level*, then de-select tests with a given level or higher.\n\nWhen giving a teaching/practice assignment with pre-written tests, either all\ntests can be given at once (leaving students overwhelmed and unsure which\nfailures should be fixed next), or piece-wise (in individual files -- which\nbecomes a mess for larger projects).\n\nWith this plugin, tests for a teaching/practice assignment can be given in\na single file. Students are then told to run with `--level 1`, fix the few red\ntests, then go to `--level 2`, etc.\nUnlike with keywords, all the lower-level tests will still be run:\n`--level 2` will run both `level(1)` and `level(2)` tests.\n\n\n## Installation\n\nIn a Python environment (e.g. `venv`), do:\n\n python -m pip install pytest-level\n\n\n## Usage\n\nMark tests with a numeric `level` marker:\n\n @pytest.mark.level(1)\n def test_basic_math():\n assert 1 + 1 == 2\n\n @pytest.mark.level(2)\n def test_intermediate_math():\n assert 10 / 2 == 5\n\n @pytest.mark.level(3)\n def test_complicated_math():\n assert 10 ** 3 == 1000\n\nThen, run pytest with `--level`:\n\n python -m pytest --level 2\n\nThis will deselect tests of a higher level.\n\nWithout `--level`, all tests are run.\n\n\n## Licence\n\nThe code is available under a MIT license. May it serve you well.\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/encukou/pytest-level", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytest-level", "package_url": "https://pypi.org/project/pytest-level/", "platform": "", "project_url": "https://pypi.org/project/pytest-level/", "project_urls": { "Homepage": "https://github.com/encukou/pytest-level" }, "release_url": "https://pypi.org/project/pytest-level/0.1.3/", "requires_dist": [ "pytest" ], "requires_python": "", "summary": "Select tests of a given level or lower", "version": "0.1.3", "yanked": false, "yanked_reason": null }, "last_serial": 6007187, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "7568f07afc3747c82e86128a41891097", "sha256": "7d054ab4ac4b2cc140b07be53c76335db66a8734af963fda83d3357f4d210d65" }, "downloads": -1, "filename": "pytest_level-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7568f07afc3747c82e86128a41891097", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3268, "upload_time": "2019-03-25T13:21:36", "upload_time_iso_8601": "2019-03-25T13:21:36.415740Z", "url": "https://files.pythonhosted.org/packages/ae/46/fdedfd0a46f9afa5bacb4f176f62f6a146a476887a76ece984b78c65643a/pytest_level-0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9786973bcadbbb823bb7a2905c06f9af", "sha256": "7c48dc784f1e0e1cb6c0d8fff04311a2a206517e59c5d800e2fcd1267a08568f" }, "downloads": -1, "filename": "pytest-level-0.1.tar.gz", "has_sig": false, "md5_digest": "9786973bcadbbb823bb7a2905c06f9af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2104, "upload_time": "2019-03-25T13:22:05", "upload_time_iso_8601": "2019-03-25T13:22:05.183593Z", "url": "https://files.pythonhosted.org/packages/f5/61/8750b4ada4d595dfe31b46dd9ee6b60f9ab1dc62c29b80880cab041d94ac/pytest-level-0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2405952329b63854dd0fac9a30764259", "sha256": "9f15bf3aa5fb4bd5db16ac1e88cadb88b4e180e506b8dfea0362848fcd5d9eb6" }, "downloads": -1, "filename": "pytest_level-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2405952329b63854dd0fac9a30764259", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3321, "upload_time": "2019-03-25T13:23:37", "upload_time_iso_8601": "2019-03-25T13:23:37.660391Z", "url": "https://files.pythonhosted.org/packages/84/68/43115593fff0528ee891b374d6b837f79b0d941aab8950a082f01d34b1f3/pytest_level-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8d61a6f5242da2896523ea5963ae1727", "sha256": "89186172334133abdba51fcb9e2d8549b3b6dc14a34c508da4decc36e837674e" }, "downloads": -1, "filename": "pytest-level-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8d61a6f5242da2896523ea5963ae1727", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2152, "upload_time": "2019-03-25T13:23:39", "upload_time_iso_8601": "2019-03-25T13:23:39.027555Z", "url": "https://files.pythonhosted.org/packages/d7/41/d5b4d137b4839cf35d38d0a442b87763363500bf7b0aa84ec4fb19ff1b67/pytest-level-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a524839544542963339a99c8198030c4", "sha256": "5be31326b00bcd7aa921bad73c9f969c102e354ac4b0597b97a3a487bc55b7e7" }, "downloads": -1, "filename": "pytest_level-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a524839544542963339a99c8198030c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3413, "upload_time": "2019-10-21T12:19:56", "upload_time_iso_8601": "2019-10-21T12:19:56.654826Z", "url": "https://files.pythonhosted.org/packages/1b/6d/5062fa841733fe33cebd99f2ce5871fba7e922b2cf83caeeedd42dd24a12/pytest_level-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7e61ce170a7fd08f97696171cafdef43", "sha256": "e68badf6cf1ac467f8f4e81ef645e6bd419d9ca29c6d377c824f5d9974083f39" }, "downloads": -1, "filename": "pytest_level-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7e61ce170a7fd08f97696171cafdef43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3416, "upload_time": "2019-10-21T13:02:23", "upload_time_iso_8601": "2019-10-21T13:02:23.182781Z", "url": "https://files.pythonhosted.org/packages/c3/3c/654ba33381db61f9b5e459915ea5e106da452790f1d23252dcf6c056eed1/pytest_level-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7e61ce170a7fd08f97696171cafdef43", "sha256": "e68badf6cf1ac467f8f4e81ef645e6bd419d9ca29c6d377c824f5d9974083f39" }, "downloads": -1, "filename": "pytest_level-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7e61ce170a7fd08f97696171cafdef43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3416, "upload_time": "2019-10-21T13:02:23", "upload_time_iso_8601": "2019-10-21T13:02:23.182781Z", "url": "https://files.pythonhosted.org/packages/c3/3c/654ba33381db61f9b5e459915ea5e106da452790f1d23252dcf6c056eed1/pytest_level-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }