Select tests of a given level or lower
Project description
pytest-level
Mark test cases with a level, then de-select tests with a given level or higher.
When giving a teaching/practice assignment with pre-written tests, either all tests can be given at once (leaving students overwhelmed and unsure which failures should be fixed next), or piece-wise (in individual files -- which becomes a mess for larger projects).
With this plugin, tests for a teaching/practice assignment can be given in
a single file. Students are then told to run with --level 1
, fix the few red
tests, then go to --level 2
, etc.
Unlike with keywords, all the lower-level tests will still be run:
--level 2
will run both level(1)
and level(2)
tests.
Installation
In a Python environment (e.g. venv
), do:
python -m pip install pytest-level
Usage
Mark tests with a numeric level
marker:
@pytest.mark.level(1)
def test_basic_math():
assert 1 + 1 == 2
@pytest.mark.level(2)
def test_intermediate_math():
assert 10 / 2 == 5
@pytest.mark.level(3)
def test_complicated_math():
assert 10 ** 3 == 1000
Then, run pytest with --level
:
python -m pytest --level 2
This will deselect tests of a higher level.
Without --level
, all tests are run.
Licence
The code is available under a MIT license. May it serve you well.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pytest-level-0.1.1.tar.gz
.
File metadata
- Download URL: pytest-level-0.1.1.tar.gz
- Upload date:
- Size: 2.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89186172334133abdba51fcb9e2d8549b3b6dc14a34c508da4decc36e837674e |
|
MD5 | 8d61a6f5242da2896523ea5963ae1727 |
|
BLAKE2b-256 | d741d5b4d137b4839cf35d38d0a442b87763363500bf7b0aa84ec4fb19ff1b67 |
File details
Details for the file pytest_level-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: pytest_level-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f15bf3aa5fb4bd5db16ac1e88cadb88b4e180e506b8dfea0362848fcd5d9eb6 |
|
MD5 | 2405952329b63854dd0fac9a30764259 |
|
BLAKE2b-256 | 846843115593fff0528ee891b374d6b837f79b0d941aab8950a082f01d34b1f3 |