Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does 'excluding code from coverage' mean in testing?
It means telling the coverage tool to ignore certain parts of the code when measuring how much code is tested. This helps focus on important code and avoid noise from untestable or irrelevant parts.
Click to reveal answer
beginner
How can you exclude a specific function from coverage in pytest?
You can add a comment like # pragma: no cover at the end of the function or line you want to exclude. Coverage tools will skip that code when reporting coverage.
Click to reveal answer
beginner
Which pytest plugin helps measure code coverage?
The pytest-cov plugin integrates coverage measurement with pytest, making it easy to run tests and see coverage reports.
Click to reveal answer
intermediate
Why might you want to exclude code from coverage reports?
You might exclude code that is hard to test, like debug code, platform-specific code, or code that runs only in rare cases. This keeps coverage numbers meaningful and avoids false negatives.
Click to reveal answer
intermediate
How do you exclude entire files or directories from coverage in pytest?
You can configure the .coveragerc file with an omit section listing files or folders to skip. For example, omit = tests/* excludes all test files.
Click to reveal answer
What comment tells coverage tools to ignore a line or function?
A# no test
B# pragma: no cover
C# skip test
D# ignore coverage
✗ Incorrect
The standard comment to exclude code from coverage is '# pragma: no cover'.
Which pytest plugin is used to measure code coverage?
Apytest-coverage
Bpytest-report
Cpytest-cov
Dpytest-check
✗ Incorrect
The 'pytest-cov' plugin integrates coverage measurement with pytest.
Where do you configure files to exclude from coverage?
A.coveragerc
Bsetup.cfg
Cpytest.ini
Dtox.ini
✗ Incorrect
The '.coveragerc' file is used to configure coverage options including files to omit.
Why exclude code from coverage reports?
ATo increase coverage percentage artificially
BTo reduce test time
CTo hide bugs
DTo keep coverage meaningful by ignoring untestable code
✗ Incorrect
Excluding untestable or irrelevant code keeps coverage reports accurate and meaningful.
Which of these is a valid way to exclude a file from coverage?
AList the file in the 'omit' section of .coveragerc
BAdd '# no cover' comment at the top
CRename the file with .nocov extension
DUse pytest command line option '--exclude-file'
✗ Incorrect
Files or directories can be excluded by listing them in the 'omit' section of the .coveragerc file.
Explain how to exclude a specific function from coverage in pytest and why you might do it.
Think about marking code lines and reasons for ignoring coverage.
You got /3 concepts.
Describe how to exclude entire files or folders from coverage reports using configuration.
Focus on configuration file and syntax.
You got /3 concepts.
Practice
(1/5)
1. What is the purpose of adding # pragma: no cover in your Python test code when using pytest and coverage.py?
easy
A. To exclude specific lines from the coverage report
B. To mark lines that must always be covered by tests
C. To enable debugging mode in pytest
D. To automatically generate test cases for those lines
Solution
Step 1: Understand coverage exclusion
The comment # pragma: no cover tells coverage.py to ignore that line when measuring test coverage.
Step 2: Purpose in test reports
This helps keep coverage reports focused on meaningful code, excluding lines like debug prints or platform-specific code.
Final Answer:
To exclude specific lines from the coverage report -> Option A
Quick Check:
Exclude lines = D [OK]
Hint: Use '# pragma: no cover' to skip lines in coverage report [OK]
Common Mistakes:
Thinking it marks lines to always test
Confusing it with pytest debug flags
Assuming it generates tests automatically
2. Which of the following is the correct way to exclude a single line from coverage in a Python file using pytest and coverage.py?
easy
A. print('Debug info') # exclude coverage
B. print('Debug info') # no cover pragma
C. print('Debug info') # pragma: no cover
D. print('Debug info') # skip coverage
Solution
Step 1: Identify correct pragma syntax
The correct syntax to exclude a line is # pragma: no cover exactly as written.
Step 2: Match options to syntax
Only print('Debug info') # pragma: no cover uses the exact correct comment syntax recognized by coverage.py.
Final Answer:
print('Debug info') # pragma: no cover -> Option C
Quick Check:
Exact pragma syntax = A [OK]
Hint: Remember exact comment: '# pragma: no cover' [OK]
Common Mistakes:
Swapping words in the pragma comment
Using incorrect comment keywords
Missing 'pragma:' keyword
3. Consider this Python code snippet tested with pytest and coverage.py:
def func(x):
if x > 0:
return x
else:
return -x # pragma: no cover
What will coverage.py report about the line with return -x if it is never executed?
medium
A. The line will be counted as uncovered and reduce coverage percentage
B. The line will be ignored and not affect coverage percentage
C. The test will fail due to missing coverage
D. Coverage.py will raise a syntax error
Solution
Step 1: Understand pragma effect on coverage
The comment # pragma: no cover tells coverage.py to ignore that line regardless of execution.
Step 2: Effect on coverage report
Since the line is ignored, not executing it does not reduce coverage percentage.
Final Answer:
The line will be ignored and not affect coverage percentage -> Option B
Quick Check:
Pragma ignores line in coverage = B [OK]
Hint: Lines with '# pragma: no cover' don't lower coverage [OK]
Common Mistakes:
Assuming ignored lines count as uncovered
Expecting test failure due to coverage
Thinking pragma causes syntax errors
4. You wrote this code:
def example():
print('Start') # pragma no cover
print('End')
But coverage.py still counts the first print line as uncovered. What is the likely problem?
medium
A. You must disable coverage for the whole file, not single lines
B. Coverage.py does not support excluding print statements
C. The comment must be placed on the line before the code
D. The pragma comment is missing the colon after 'pragma:'
Solution
Step 1: Check pragma syntax
The correct syntax requires a colon: # pragma: no cover. Missing colon causes coverage.py to ignore the comment.
Step 2: Effect of incorrect syntax
Without the colon, coverage.py treats the line normally and counts it as uncovered if not executed.
Final Answer:
The pragma comment is missing the colon after 'pragma:' -> Option D
Quick Check:
Colon required in pragma comment = A [OK]
Hint: Always include colon: '# pragma: no cover' [OK]
Common Mistakes:
Omitting colon after 'pragma:'
Placing comment on wrong line
Thinking coverage can't exclude print statements
5. You want to exclude a block of code from coverage in a pytest project, but # pragma: no cover only works line-by-line. Which approach correctly excludes multiple lines without affecting other code?
hard
A. Add # pragma: no cover comment to each line in the block
B. Wrap the block in a function and exclude the whole function with a decorator
C. Use if False: around the block to skip it and exclude it from coverage
D. Add # pragma: no cover only on the first and last lines of the block
Solution
Step 1: Understand line-by-line exclusion
The # pragma: no cover comment excludes coverage only for the line it is on, so each line must have it to be excluded.
Step 2: Evaluate other options
Wrapping in a function or using if False: changes code behavior or testability; partial comments on first and last lines do not exclude intermediate lines.
Final Answer:
Add '# pragma: no cover' comment to each line in the block -> Option A
Quick Check:
Exclude multiple lines by commenting each line = C [OK]
Hint: Comment each line with '# pragma: no cover' to exclude block [OK]