Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with running PHPUnit coverage with Xdebug when middleware runs #562

Open
joshmurrayeu opened this issue Aug 29, 2023 · 0 comments
Open

Comments

@joshmurrayeu
Copy link

I've noticed an issue where if the logging middleware has been enabled, PHPUnit won't be able to complete the code coverage report and show it within PhpStorm. Please see the screenshot below:

image

As you can see on line 10, it's destructing the Middleware class once the code has finished executing. Typically, whenever the Target class [config] does not exist. exception is thrown, something is being called at the wrong time e.g. similar to using a Laravel factory in a @dataProvider or using Container methods within the setUp before the application has actually been able to boot up.

I've tried debugging for the last 20 minutes or so and the cause is this line:

orm/config/doctrine.php

Lines 90 to 92 in 106f0dc

'middlewares' => [
// Doctrine\DBAL\Logging\Middleware::class
]

A possible fix is:

'middleware' => (new Illuminate\Support\Collection(env('DOCTRINE_MIDDLEWARE') ?? []))->toArray()

And of course, adding DOCTRINE_MIDDLEWARE=Doctrine\DBAL\Logging\Middleware to your .env.

I think this "solution" is a bit ugly. It does give a better ability to enable and disable middleware based on your environment. I haven't tested caching the configuration, yet.. although, I wouldn't anticipate any issues doing so.

It could be possible I've put a piece of code in the wrong place, so I'll use my fix for the time being. I'll update this issue should I find the root cause (if one exists).

@eigan What are your thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant