Clarify the need for mix_stderr in when accessing the output of stderr in tests #1045
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes a small change to the
docs/tutorial/testing.md
file. The change updates the documentation to clarify how to check for output sent to standard error when usingCliRunner
.Documentation update:
docs/tutorial/testing.md
: Clarified that theCliRunner
instance must be created with themix_stderr=False
argument to accessresult.stderr
in tests.Why would this change be necessary?
I've made this because I was left scratching my head trying to test the output of
stderr
today in a project using Typer, and I only found the solution when I came across #385 an issue that was filed in 2022.I looked for a better exception to raise, but it looks like this more a problem with Click's Result class than Typer; after looking into the codebase there didn't seem to be an obvious place in Typer to create a new, clearer exception class.
So, I've tried to go for some clearer text in the docs instead.
This is the before:
This is the after: