Recall & Review
beginner
What does the pytest fixture
capfd capture?The
capfd fixture captures output sent to the system file descriptors stdout and stderr. This means it captures output from print statements and error messages during test execution.Click to reveal answer
beginner
How do you retrieve the captured output using
capfd in a pytest test?You call
out, err = capfd.readouterr() inside your test. out contains the captured standard output, and err contains the captured standard error.Click to reveal answer
intermediate
Why is
capfd useful compared to capturing output with capsys?capfd captures output at the file descriptor level, so it can capture output from C extensions or subprocesses, while capsys captures output at the Python sys module level only.Click to reveal answer
intermediate
What happens if you call
capfd.readouterr() multiple times in the same test?Each call to <code>readouterr()</code> returns the output captured since the last call and clears the buffer. So multiple calls let you check output in stages.Click to reveal answer
intermediate
Can
capfd capture output from subprocesses spawned during a test?Yes, because
capfd captures output at the file descriptor level, it can capture output from subprocesses, unlike capsys.Click to reveal answer
What does
capfd capture in pytest?✗ Incorrect
capfd captures output sent to the system file descriptors stdout and stderr, including print statements and errors.
How do you get the captured output from
capfd?✗ Incorrect
The method readouterr() returns a tuple with captured stdout and stderr.
Which is true about
capfd compared to capsys?✗ Incorrect
capfd captures output at the OS file descriptor level, so it can capture subprocess output.
What happens when you call
capfd.readouterr() multiple times?✗ Incorrect
Each call returns new output since last call and clears the captured output buffer.
Can
capfd capture output from subprocesses?✗ Incorrect
capfd captures output at the OS file descriptor level, so it captures subprocess output.
Explain how the pytest fixture
capfd works and when you would use it.Think about capturing output beyond just Python print statements.
You got /4 concepts.
Describe the difference between
capfd and capsys in pytest.Consider the level at which output is captured.
You got /4 concepts.