phpstan / phpstan-phpunit

PHPUnit extensions and rules for PHPStan
MIT License
468 stars 46 forks source link

Allow defining a target PHPUnit version #178

Open mondrake opened 1 year ago

mondrake commented 1 year ago

For large codebases (I'm looking into Drupal), it would be good to be able to define a target PHPUnit version, so that checks for later versions could be anticipated while still running previous PHPUnit versions. This would allow to do the prep work in batches - you baseline whatever is expected to be changed for the new version and break down the cleanup in multiple steps.

Example: https://github.com/phpstan/phpstan-phpunit/commit/cd9c6938f8bbfcb6da3ed5a3c7ea60873825d088 will report non-static data providers only when PHPUnit 10 is running. But we might want to have the rule enabled while the test codebase is still running PHPUnit 9.

Boegie commented 1 year ago

I can see benefit in this (for both Drupal and other projects).

It would make it possible to "be ahead of the game" instead of making a big rush when changing PHPUnit versions on a project.

ondrejmirtes commented 1 year ago

You can add a CI job (with failure allowed) that upgrades PHPUnit and then runs PHPStan, to let you see “into the future”.

fredericgboutin-yapla commented 6 months ago

And for those using https://github.com/Yoast/PHPUnit-Polyfills it gets trickier.