release: 3.7.2

This commit is contained in:
Nuno Maduro
2025-01-19 17:16:25 +00:00
parent 150bb9478d
commit 6afb36519d
12 changed files with 20 additions and 17 deletions

View File

@ -28,7 +28,7 @@ jobs:
with: with:
php-version: ${{ matrix.php }} php-version: ${{ matrix.php }}
tools: composer:v2 tools: composer:v2
coverage: none coverage: xdebug
- name: Setup Problem Matches - name: Setup Problem Matches
run: | run: |

View File

@ -24,11 +24,11 @@
"pestphp/pest-plugin": "^3.0.0", "pestphp/pest-plugin": "^3.0.0",
"pestphp/pest-plugin-arch": "^3.0.0", "pestphp/pest-plugin-arch": "^3.0.0",
"pestphp/pest-plugin-mutate": "^3.0.5", "pestphp/pest-plugin-mutate": "^3.0.5",
"phpunit/phpunit": "^11.5.1" "phpunit/phpunit": "^11.5.3"
}, },
"conflict": { "conflict": {
"filp/whoops": "<2.16.0", "filp/whoops": "<2.16.0",
"phpunit/phpunit": ">11.5.1", "phpunit/phpunit": ">11.5.3",
"sebastian/exporter": "<6.0.0", "sebastian/exporter": "<6.0.0",
"webmozart/assert": "<1.11.0" "webmozart/assert": "<1.11.0"
}, },
@ -54,7 +54,7 @@
}, },
"require-dev": { "require-dev": {
"pestphp/pest-dev-tools": "^3.3.0", "pestphp/pest-dev-tools": "^3.3.0",
"pestphp/pest-plugin-type-coverage": "^3.2.0", "pestphp/pest-plugin-type-coverage": "^3.2.3",
"symfony/process": "^7.2.0" "symfony/process": "^7.2.0"
}, },
"minimum-stability": "dev", "minimum-stability": "dev",

View File

@ -446,7 +446,7 @@ final class JunitXmlLogger
if ($test->isTestMethod()) { if ($test->isTestMethod()) {
assert($test instanceof TestMethod); assert($test instanceof TestMethod);
//$testCase->setAttribute('line', (string) $test->line()); // pest-removed // $testCase->setAttribute('line', (string) $test->line()); // pest-removed
$className = $this->converter->getTrimmedTestClassName($test); // pest-added $className = $this->converter->getTrimmedTestClassName($test); // pest-added
$testCase->setAttribute('class', $className); // pest-changed $testCase->setAttribute('class', $className); // pest-changed
$testCase->setAttribute('classname', str_replace('\\', '.', $className)); // pest-changed $testCase->setAttribute('classname', str_replace('\\', '.', $className)); // pest-changed

View File

@ -25,7 +25,7 @@ final class BootOverrides implements Bootstrapper
'8abdad6413329c6fe0d7d44a8b9926e390af32c0b3123f3720bb9c5bbc6fbb7e' => 'TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php', '8abdad6413329c6fe0d7d44a8b9926e390af32c0b3123f3720bb9c5bbc6fbb7e' => 'TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php',
'b4250fc3ffad5954624cb5e682fd940b874e8d3422fa1ee298bd7225e1aa5fc2' => 'TextUI/TestSuiteFilterProcessor.php', 'b4250fc3ffad5954624cb5e682fd940b874e8d3422fa1ee298bd7225e1aa5fc2' => 'TextUI/TestSuiteFilterProcessor.php',
'8cfcb4999af79463eca51a42058e502ea4ddc776cba5677bf2f8eb6093e21a5c' => 'Event/Value/ThrowableBuilder.php', '8cfcb4999af79463eca51a42058e502ea4ddc776cba5677bf2f8eb6093e21a5c' => 'Event/Value/ThrowableBuilder.php',
'ede161507d4c9c27805f55a05a32c3bb528e53b6e1fc092bfafdb8207e0019e9' => 'Logging/JUnit/JunitXmlLogger.php', '86cd9bcaa53cdd59c5b13e58f30064a015c549501e7629d93b96893d4dee1eb1' => 'Logging/JUnit/JunitXmlLogger.php',
]; ];
/** /**

View File

@ -11,6 +11,7 @@ use Pest\Support\Str;
use PHPUnit\Event\Code\Test; use PHPUnit\Event\Code\Test;
use PHPUnit\Event\Code\TestMethod; use PHPUnit\Event\Code\TestMethod;
use PHPUnit\Event\Code\Throwable; use PHPUnit\Event\Code\Throwable;
use PHPUnit\Event\Test\AfterLastTestMethodErrored;
use PHPUnit\Event\Test\BeforeFirstTestMethodErrored; use PHPUnit\Event\Test\BeforeFirstTestMethodErrored;
use PHPUnit\Event\Test\ConsideredRisky; use PHPUnit\Event\Test\ConsideredRisky;
use PHPUnit\Event\Test\Errored; use PHPUnit\Event\Test\Errored;
@ -254,8 +255,9 @@ final readonly class Converter
$numberOfNotPassedTests = count( $numberOfNotPassedTests = count(
array_unique( array_unique(
array_map( array_map(
function (BeforeFirstTestMethodErrored|Errored|Failed|Skipped|ConsideredRisky|MarkedIncomplete $event): string { function (AfterLastTestMethodErrored|BeforeFirstTestMethodErrored|Errored|Failed|Skipped|ConsideredRisky|MarkedIncomplete $event): string {
if ($event instanceof BeforeFirstTestMethodErrored) { if ($event instanceof BeforeFirstTestMethodErrored
|| $event instanceof AfterLastTestMethodErrored) {
return $event->testClassName(); return $event->testClassName();
} }

View File

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

View File

@ -30,6 +30,7 @@ final class StateGenerator
$testResultEvent->throwable() $testResultEvent->throwable()
)); ));
} else { } else {
// @phpstan-ignore-next-line
$state->add(TestResult::fromBeforeFirstTestMethodErrored($testResultEvent)); $state->add(TestResult::fromBeforeFirstTestMethodErrored($testResultEvent));
} }
} }

View File

@ -1,5 +1,5 @@
Pest Testing Framework 3.7.1. Pest Testing Framework 3.7.2.
USAGE: pest <file> [options] USAGE: pest <file> [options]

View File

@ -1,3 +1,3 @@
Pest Testing Framework 3.7.1. Pest Testing Framework 3.7.2.

View File

@ -62,9 +62,9 @@
↓ is marked as todo 3 ↓ is marked as todo 3
↓ shouldBeMarkedAsTodo ↓ shouldBeMarkedAsTodo
WARN Tests\Features\Coverage PASS Tests\Features\Coverage
✓ it has plugin ✓ it has plugin
- it adds coverage if --coverage exist → Coverage is not available it adds coverage if --coverage exist
✓ it adds coverage if --min exist ✓ it adds coverage if --min exist
✓ it generates coverage based on file input ✓ it generates coverage based on file input
@ -1708,4 +1708,4 @@
WARN Tests\Visual\Version WARN Tests\Visual\Version
- visual snapshot of help command output - visual snapshot of help command output
Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 38 todos, 33 skipped, 1152 passed (2744 assertions) Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 38 todos, 32 skipped, 1153 passed (2749 assertions)

View File

@ -31,7 +31,7 @@ get('foo')->get('bar')->expect(true)->toBeTrue();
get('foo')->expect(true)->toBeTrue(); get('foo')->expect(true)->toBeTrue();
describe('a "describe" group of tests', function () { describe('a "describe" group of tests', function () {
get('foo'); // not incomplete because closure is created... get('foo'); // not incomplete because closure is created...
get('foo')->get('bar')->expect(true)->toBeTrue(); get('foo')->get('bar')->expect(true)->toBeTrue();
get('foo')->expect(true)->toBeTrue(); get('foo')->expect(true)->toBeTrue();
}); });

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, 38 todos, 24 skipped, 1142 passed (2720 assertions)') ->toContain('Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 38 todos, 23 skipped, 1143 passed (2725 assertions)')
->toContain('Parallel: 3 processes'); ->toContain('Parallel: 3 processes');
})->skipOnWindows(); })->skipOnWindows();