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.
Metadata
Release files for pytest-level 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pytest_level-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for pytest_level-0.1.3-py3-none-any.whl |
Release files / pytest_level-0.1.3-py3-none-any.whl
| Download URL | pytest_level-0.1.3-py3-none-any.whl |
|---|---|
| Size | 3.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e68badf6cf1ac467f8f4e81ef645e6bd419d9ca29c6d377c824f5d9974083f39
|
|
BLAKE2b-256 checksum How to use checksums |
c33c654ba33381db61f9b5e459915ea5e106da452790f1d23252dcf6c056eed1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.2 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.5
|
Security for pytest-level 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.