feat: adds phpunit@12.5 support

This commit is contained in:
Nuno Maduro
2025-12-15 11:48:43 +00:00
parent ae419afd36
commit 6a96aed654
7 changed files with 14 additions and 11 deletions

View File

@ -18,19 +18,19 @@
], ],
"require": { "require": {
"php": "^8.3.0", "php": "^8.3.0",
"brianium/paratest": "^7.14.2", "brianium/paratest": "^7.16.0",
"nunomaduro/collision": "^8.8.3", "nunomaduro/collision": "^8.8.3",
"nunomaduro/termwind": "^2.3.3", "nunomaduro/termwind": "^2.3.3",
"pestphp/pest-plugin": "^4.0.0", "pestphp/pest-plugin": "^4.0.0",
"pestphp/pest-plugin-arch": "^4.0.0", "pestphp/pest-plugin-arch": "^4.0.0",
"pestphp/pest-plugin-mutate": "^4.0.1", "pestphp/pest-plugin-mutate": "^4.0.1",
"pestphp/pest-plugin-profanity": "^4.2.0", "pestphp/pest-plugin-profanity": "^4.2.1",
"phpunit/phpunit": "^12.4.4", "phpunit/phpunit": "^12.5.3",
"symfony/process": "^7.4.0|^8.0.0" "symfony/process": "^7.4.0|^8.0.0"
}, },
"conflict": { "conflict": {
"filp/whoops": "<2.18.3", "filp/whoops": "<2.18.3",
"phpunit/phpunit": ">12.4.4", "phpunit/phpunit": ">12.5.3",
"sebastian/exporter": "<7.0.0", "sebastian/exporter": "<7.0.0",
"webmozart/assert": "<1.11.0" "webmozart/assert": "<1.11.0"
}, },
@ -58,7 +58,7 @@
"pestphp/pest-dev-tools": "^4.0.0", "pestphp/pest-dev-tools": "^4.0.0",
"pestphp/pest-plugin-browser": "^4.1.1", "pestphp/pest-plugin-browser": "^4.1.1",
"pestphp/pest-plugin-type-coverage": "^4.0.3", "pestphp/pest-plugin-type-coverage": "^4.0.3",
"psy/psysh": "^0.12.15" "psy/psysh": "^0.12.17"
}, },
"minimum-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true, "prefer-stable": true,

View File

@ -2,10 +2,10 @@
declare(strict_types=1); declare(strict_types=1);
use Rector\CodingStyle\Rector\FunctionLike\FunctionLikeToFirstClassCallableRector;
use Rector\Config\RectorConfig; use Rector\Config\RectorConfig;
use Rector\TypeDeclaration\Rector\ClassMethod\NarrowObjectReturnTypeRector; use Rector\TypeDeclaration\Rector\ClassMethod\NarrowObjectReturnTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector; use Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector;
use Rector\CodingStyle\Rector\ArrowFunction\ArrowFunctionDelegatingCallToFirstClassCallableRector;
return RectorConfig::configure() return RectorConfig::configure()
->withPaths([ ->withPaths([
@ -14,7 +14,7 @@ return RectorConfig::configure()
->withSkip([ ->withSkip([
__DIR__.'/src/Plugins/Parallel/Paratest/WrapperRunner.php', __DIR__.'/src/Plugins/Parallel/Paratest/WrapperRunner.php',
ReturnNeverTypeRector::class, ReturnNeverTypeRector::class,
FunctionLikeToFirstClassCallableRector::class, ArrowFunctionDelegatingCallToFirstClassCallableRector::class,
NarrowObjectReturnTypeRector::class, NarrowObjectReturnTypeRector::class,
]) ])
->withPreparedSets( ->withPreparedSets(

View File

@ -6,7 +6,7 @@ namespace Pest;
function version(): string function version(): string
{ {
return '4.1.6'; return '4.2.0';
} }
function testDirectory(string $file = ''): string function testDirectory(string $file = ''): string

View File

@ -99,6 +99,7 @@ final readonly class Help implements HandlesArguments
{ {
$helpReflection = new PHPUnitHelp; $helpReflection = new PHPUnitHelp;
// @phpstan-ignore-next-line
$content = (fn (): array => $this->elements())->call($helpReflection); $content = (fn (): array => $this->elements())->call($helpReflection);
$content['Configuration'] = [...[[ $content['Configuration'] = [...[[

View File

@ -1,5 +1,5 @@
Pest Testing Framework 4.1.6. Pest Testing Framework 4.2.0.
USAGE: pest <file> [options] USAGE: pest <file> [options]
@ -27,6 +27,7 @@
--pr .... Output to standard output tests with the given pull request number --pr .... Output to standard output tests with the given pull request number
--pull-request Output to standard output tests with the given pull request number (alias for --pr) --pull-request Output to standard output tests with the given pull request number (alias for --pr)
--retry Run non-passing tests first and stop execution upon first error or failure --retry Run non-passing tests first and stop execution upon first error or failure
--all .................... Ignore test selection from XML configuration file
--list-suites ................................... List available test suites --list-suites ................................... List available test suites
--testsuite [name] ......... Only run tests from the specified test suite(s) --testsuite [name] ......... Only run tests from the specified test suite(s)
--exclude-testsuite [name] .. Exclude tests from the specified test suite(s) --exclude-testsuite [name] .. Exclude tests from the specified test suite(s)
@ -138,6 +139,7 @@
--only-summary-for-coverage-text Option for code coverage report in text format: only show summary --only-summary-for-coverage-text Option for code coverage report in text format: only show summary
--show-uncovered-for-coverage-text Option for code coverage report in text format: show uncovered files --show-uncovered-for-coverage-text Option for code coverage report in text format: show uncovered files
--coverage-xml [dir] . Write code coverage report in XML format to directory --coverage-xml [dir] . Write code coverage report in XML format to directory
--exclude-source-from-xml-coverage Exclude [source] element from code coverage report in XML format
--warm-coverage-cache ........................... Warm static analysis cache --warm-coverage-cache ........................... Warm static analysis cache
--coverage-filter [dir] ........... Include [dir] in code coverage reporting --coverage-filter [dir] ........... Include [dir] in code coverage reporting
--path-coverage .......... Report path coverage in addition to line coverage --path-coverage .......... Report path coverage in addition to line coverage

View File

@ -1,3 +1,3 @@
Pest Testing Framework 4.1.6. Pest Testing Framework 4.2.0.

View File

@ -16,7 +16,7 @@ $run = function () {
test('parallel', function () use ($run) { test('parallel', function () use ($run) {
expect($run('--exclude-group=integration')) expect($run('--exclude-group=integration'))
->toContain('Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 39 todos, 26 skipped, 1178 passed (2790 assertions)') ->toContain('Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 39 todos, 26 skipped, 1177 passed (2790 assertions)')
->toContain('Parallel: 3 processes'); ->toContain('Parallel: 3 processes');
})->skipOnWindows(); })->skipOnWindows();