Skip to main content

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:

def test_basic_math():
assert 1 + 1 == 2

def test_intermediate_math():
assert 10 / 2 == 5

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.

Files for pytest-level, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size pytest_level-0.1-py3-none-any.whl (3.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pytest-level-0.1.tar.gz (2.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page