Only run tests marked with @pytest.mark.only. If none are marked, all tests run as usual.
Borrowed from mocha.
Installation
pip install pytest-only
Usage
Use it on functions
import pytest
def test_that_will_not_run():
assert 0
@pytest.mark.only
def test_that_will_run():
assert 1
$ py.test -v test_example.py
============================= test session starts ==============================
platform linux -- Python 3.6.1, pytest-3.0.7, py-1.4.33, pluggy-0.4.0 -- /tmp/example/bin/python3.6
cachedir: .cache
rootdir: /tmp/example, inifile:
plugins: only-1.0.0
collected 2 items
test_example.py::test_that_will_run PASSED
=========================== 1 passed in 0.00 seconds ===========================
Or use it on classes
import pytest
class TestThatWillNotRun:
def test_that_will_not_run(self):
assert 0
@pytest.mark.only
class TestThatWillRun:
def test_that_will_run(self):
assert 1
$ py.test -v test_example.py
============================= test session starts ==============================
platform linux -- Python 3.6.1, pytest-3.0.7, py-1.4.33, pluggy-0.4.0 -- /tmp/example/bin/python3.6
cachedir: .cache
rootdir: /tmp/example, inifile:
plugins: only-1.0.0
collected 2 items
test_example.py::TestThatWillRun::test_that_will_run PASSED
=========================== 1 passed in 0.00 seconds ===========================
Or use it on modules
# test_example.py
import pytest
pytestmark = pytest.mark.only
def test_that_will_run():
assert 1
# test_example2.py
def test_that_will_not_run():
assert 0
$ py.test -v test_example.py test_example2.py
============================= test session starts ==============================
platform linux -- Python 3.6.1, pytest-3.0.7, py-1.4.33, pluggy-0.4.0 -- /home/they4kman/.virtualenvs/tmp-53d5944c7c78d28/bin/python3.6
cachedir: .cache
rootdir: /home/they4kman/.virtualenvs/tmp-53d5944c7c78d28, inifile:
plugins: only-1.0.0
collected 2 items
test_example.py::test_that_will_run PASSED
=========================== 1 passed in 0.00 seconds ===========================
Disable for single test run
To run all the tests, regardless of whether @pytest.mark.only is used, pass the --no-only flag to pytest:
$ py.test --no-only
If --no-only has already been passed (perhaps by way of addopts in pytest.ini), use the --only flag to re-enable it:
$ py.test --no-only --only
Development
Install the test/dev requirements
$ pip install -r dev-requirements.txtRun the tests
$ py.testRun the tests on all currently-supported platforms
$ tox
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytest-only-1.2.1.tar.gz
(3.0 kB
view details)
File details
Details for the file pytest-only-1.2.1.tar.gz.
File metadata
- Download URL: pytest-only-1.2.1.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
221d9c8094dde089d1c2dac6972ae2b47d95a8e13d5282e0289f8b27f06e3637
|
|
| MD5 |
63bbab8ea1179390f37c1ea7d53805eb
|
|
| BLAKE2b-256 |
1e063a4124b497151900ca943da7ab441b0bd9851fb27b644365a26b00abb732
|