Open mondrake opened 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.
You can add a CI job (with failure allowed) that upgrades PHPUnit and then runs PHPStan, to let you see “into the future”.
And for those using https://github.com/Yoast/PHPUnit-Polyfills it gets trickier.
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.