0
0
PyTesttesting~20 mins

@pytest.mark.skip with reason - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Pytest Skip Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of a skipped test with reason
What will be the output when running this pytest code snippet?
PyTest
import pytest

@pytest.mark.skip(reason="Not implemented yet")
def test_feature():
    assert 1 == 1

if __name__ == "__main__":
    import pytest
    pytest.main([__file__])
AThe test is skipped with the message 'Not implemented yet' shown in the test report.
BThe test runs and passes because the assertion is true.
CThe test fails with an AssertionError.
DThe test raises a SyntaxError due to incorrect decorator usage.
Attempts:
2 left
💡 Hint
Look at what @pytest.mark.skip does and how the reason parameter affects the test report.
assertion
intermediate
2:00remaining
Assertion behavior in skipped tests
If a test is decorated with @pytest.mark.skip(reason="Skip this test"), what happens to assertions inside that test?
PyTest
import pytest

@pytest.mark.skip(reason="Skip this test")
def test_example():
    assert False

if __name__ == "__main__":
    import pytest
    pytest.main([__file__])
AAssertions are not executed because the test is skipped.
BAssertions run and cause the test to fail.
CAssertions run but are ignored, so the test passes.
DAssertions cause a runtime error because the test is skipped.
Attempts:
2 left
💡 Hint
Think about whether skipped tests run their code or not.
🔧 Debug
advanced
2:00remaining
Skip decorator with positional reason
What will happen when running this pytest code?
PyTest
import pytest

@pytest.mark.skip("Missing reason keyword argument")
def test_bug():
    assert True

if __name__ == "__main__":
    import pytest
    pytest.main([__file__])
ASyntaxError due to incorrect decorator syntax.
BTypeError because reason argument is missing the keyword 'reason='.
CThe test is skipped with the message 'Missing reason keyword argument'.
DThe test runs and passes normally.
Attempts:
2 left
💡 Hint
Check how the skip decorator handles positional arguments for the reason.
🧠 Conceptual
advanced
2:00remaining
Difference between @pytest.mark.skip and @pytest.mark.skipif with reason
Which statement correctly describes the difference between @pytest.mark.skip(reason=...) and @pytest.mark.skipif(condition, reason=...) decorators?
A@pytest.mark.skip skips only if the condition is True, while @pytest.mark.skipif always skips.
B@pytest.mark.skip always skips the test unconditionally, while @pytest.mark.skipif skips only if the condition is True.
CBoth decorators skip tests only if the condition is False.
DBoth decorators behave identically and always skip the test.
Attempts:
2 left
💡 Hint
Think about when each decorator causes skipping.
framework
expert
3:00remaining
Using @pytest.mark.skip with fixtures and reason
Given this pytest code, what will be the test outcome and output reason?
PyTest
import pytest

@pytest.fixture
def data():
    return 42

@pytest.mark.skip(reason="Fixture not ready")
def test_data(data):
    assert data == 42

if __name__ == "__main__":
    import pytest
    pytest.main([__file__])
AThe test raises an error due to fixture usage in a skipped test.
BThe test runs and passes because the fixture returns 42.
CThe test fails because the fixture is not available.
DThe test is skipped with the reason 'Fixture not ready' shown; fixture is not executed.
Attempts:
2 left
💡 Hint
Consider if fixtures run when a test is skipped.