How to Disable a Test Using Pytest?

Better Stack Team
Updated on May 15, 2024

If you need to disable a specific test when running your test suite with pytest, use the pytest skip decorator. Suppose you have the following tests in your test suite:

test_math.py
import pytest

def test_addition():
    result = 2 + 2
    assert result == 4

def test_subtraction():
    result = 5 - 3
    assert result == 2

To skip the test_addition test, apply the @pytest.mark.skip decorator with a reason for skipping:

 
import pytest

@pytest.mark.skip(reason="Temporarily disabled for demonstration purposes")
def test_addition():
    result = 2 + 2
    assert result == 4

def test_subtraction():
    result = 5 - 3
    assert result == 2

When you execute the tests using pytest:

 
pytest -v

Pytest will report that the addition test has been skipped and only the subtraction test has been executed:

Output
...

test_math.py::test_addition SKIPPED (Temporarily disabled this test for demonstration purposes)                                                                       [ 50%]
test_math.py::test_subtraction PASSED                                                                                                                                 [100%]

======================================================================= 1 passed, 1 skipped in 0.00s ========================================================================