PCPP2 Software Testing Practice Question
Which TWO of the following are valid ways to pass data into a pytest test function?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Using function arguments that match fixture names
Fixtures and parametrization are the standard ways to inject data into pytest functions.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Using function arguments that match fixture names
Why this is correct
pytest automatically injects fixtures based on argument names.
- ✗
Defining global variables in the same file
Why it's wrong here
Globals are not automatically injected.
- ✗
Accessing the 'sys.argv' list
Why it's wrong here
This is not a test data injection pattern.
- ✗
Using the 'unittest.TestCase' setup method
Why it's wrong here
This is for unittest, not pytest dependency injection.
- ✓
Using the @pytest.mark.parametrize decorator
Why this is correct
This is a primary method for input injection.
About these practice questions
One of 194 original PCPP2 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed August 2026 · checked against the official Python Institute exam blueprint
This PCPP2 practice question is part of Courseiva's free Python Institute certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PCPP2 exam.