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:

@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

pytest-level-0.1.1.tar.gz (2.2 kB view details)

Uploaded Source

Built Distribution

pytest_level-0.1.1-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

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

Hashes for pytest-level-0.1.1.tar.gz
Algorithm Hash digest
SHA256 89186172334133abdba51fcb9e2d8549b3b6dc14a34c508da4decc36e837674e
MD5 8d61a6f5242da2896523ea5963ae1727
BLAKE2b-256 d741d5b4d137b4839cf35d38d0a442b87763363500bf7b0aa84ec4fb19ff1b67

See more details on using hashes here.

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

Hashes for pytest_level-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f15bf3aa5fb4bd5db16ac1e88cadb88b4e180e506b8dfea0362848fcd5d9eb6
MD5 2405952329b63854dd0fac9a30764259
BLAKE2b-256 846843115593fff0528ee891b374d6b837f79b0d941aab8950a082f01d34b1f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page