[6.x] Fix testing commands that do not resolve 'OutputStyle::class' from the container #32687
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.
Tests that look for output (via
expectsOutput
) from commands that do not resolveOutputStyle
from the application container fail unexpectedly.An example of this is the default Symfony 'list' command, this command is not a descendant of
Illuminate\Console\Command
and therefore doesn't resolve its output interface from the container.You can verify the behaviour by adding the following test to the stock FeatureTest:
This tests the
list
command, which will fail if run against the current codebase but pass against this fix.This shouldn't break anything as we're simply passing the mock directly to the kernels call method as opposed to relying on it being resolved.
If accepted, I'm guessing this can also be merged up?