[11.x] Fix LazilyRefreshDatabase when using Laravel BrowserKit Testing #51538
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 PR #49914 introduced an issue where if you are using https://github.com/laravel/browser-kit-testing it will error when you run tests that use LazilyRefreshDatabase.
This is because PR 49914 added the use of the
mockConsoleOutput
property.The
InteractsWithConsole
trait in Laravel has this property set.framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php
Line 16 in e59372a
But the
InteractsWithConsole
in BrowserKit Testing does nothttps://github.com/laravel/browser-kit-testing/blob/7.x/src/Concerns/InteractsWithConsole.php
When running tests we get the following error.
ErrorException: Undefined property MyClassIntegrationTest::$mockConsoleOutput
I added the conditional check for the
mockConsoleOutput
property into theInteractsWithConsole
trait here because theInteractsWithConsole
in BrowserKit Testing has not been edited in 8 years so has diverged greatly from the Frameworks currentInteractsWithConsole
trait. So I thought it would make sense to add it here instead of the package.