Bird
0
0

What is wrong with this pytest code snippet?

medium📝 Debug Q14 of 15
PyTest - Parametrize
What is wrong with this pytest code snippet?
@pytest.fixture
def setup_data(request):
    return request.param + 1

@pytest.mark.parametrize('setup_data', [10, 20])
def test_increment(setup_data):
    assert setup_data in [11, 21]
AThe fixture should not return a value.
BFixture name and parameter name must be different.
CMissing indirect=True in parametrize to pass parameters to fixture.
DThe assert statement is incorrect.
Step-by-Step Solution
Solution:
  1. Step 1: Check parametrize usage with fixture

    Parameters must be passed indirectly to fixtures using indirect=True.
  2. Step 2: Identify missing indirect=True

    The code lacks indirect=True, so parameters go directly to test, not fixture.
  3. Final Answer:

    Missing indirect=True in parametrize to pass parameters to fixture. -> Option C
  4. Quick Check:

    indirect=True needed to use request.param [OK]
Quick Trick: Add indirect=True to parametrize when using request.param [OK]
Common Mistakes:
MISTAKES
  • Forgetting indirect=True causes request.param error
  • Thinking fixture and param names must differ
  • Assuming fixture cannot return values

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PyTest Quizzes