mirror of
https://github.com/pestphp/pest.git
synced 2026-03-06 07:47:22 +01:00
feat: adds "phpunit/phpunit": "^10.3.1" support
This commit is contained in:
@ -18,16 +18,16 @@
|
|||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.1.0",
|
"php": "^8.1.0",
|
||||||
"brianium/paratest": "^7.2.3",
|
"brianium/paratest": "^7.2.4",
|
||||||
"nunomaduro/collision": "^7.7.0",
|
"nunomaduro/collision": "^7.8.0",
|
||||||
"nunomaduro/termwind": "^1.15.1",
|
"nunomaduro/termwind": "^1.15.1",
|
||||||
"pestphp/pest-plugin": "^2.0.1",
|
"pestphp/pest-plugin": "^2.0.1",
|
||||||
"pestphp/pest-plugin-arch": "^2.2.3",
|
"pestphp/pest-plugin-arch": "^2.2.3",
|
||||||
"phpunit/phpunit": "^10.2.7"
|
"phpunit/phpunit": "^10.3.1"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"webmozart/assert": "<1.11.0",
|
"webmozart/assert": "<1.11.0",
|
||||||
"phpunit/phpunit": ">10.2.7"
|
"phpunit/phpunit": ">10.3.1"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
|||||||
@ -13,6 +13,7 @@ use const DIRECTORY_SEPARATOR;
|
|||||||
use function dirname;
|
use function dirname;
|
||||||
use function file_get_contents;
|
use function file_get_contents;
|
||||||
use function max;
|
use function max;
|
||||||
|
use NunoMaduro\Collision\Adapters\Phpunit\Support\ResultReflection;
|
||||||
use ParaTest\Coverage\CoverageMerger;
|
use ParaTest\Coverage\CoverageMerger;
|
||||||
use ParaTest\JUnit\LogMerger;
|
use ParaTest\JUnit\LogMerger;
|
||||||
use ParaTest\JUnit\Writer;
|
use ParaTest\JUnit\Writer;
|
||||||
@ -273,7 +274,7 @@ final class WrapperRunner implements RunnerInterface
|
|||||||
assert($testResult instanceof TestResult);
|
assert($testResult instanceof TestResult);
|
||||||
|
|
||||||
$testResultSum = new TestResult(
|
$testResultSum = new TestResult(
|
||||||
$testResultSum->numberOfTests() + $testResult->numberOfTests(),
|
(int) $testResultSum->hasTests() + (int) $testResult->hasTests(),
|
||||||
$testResultSum->numberOfTestsRun() + $testResult->numberOfTestsRun(),
|
$testResultSum->numberOfTestsRun() + $testResult->numberOfTestsRun(),
|
||||||
$testResultSum->numberOfAssertions() + $testResult->numberOfAssertions(),
|
$testResultSum->numberOfAssertions() + $testResult->numberOfAssertions(),
|
||||||
array_merge_recursive($testResultSum->testErroredEvents(), $testResult->testErroredEvents()),
|
array_merge_recursive($testResultSum->testErroredEvents(), $testResult->testErroredEvents()),
|
||||||
@ -282,23 +283,23 @@ final class WrapperRunner implements RunnerInterface
|
|||||||
array_merge_recursive($testResultSum->testSuiteSkippedEvents(), $testResult->testSuiteSkippedEvents()),
|
array_merge_recursive($testResultSum->testSuiteSkippedEvents(), $testResult->testSuiteSkippedEvents()),
|
||||||
array_merge_recursive($testResultSum->testSkippedEvents(), $testResult->testSkippedEvents()),
|
array_merge_recursive($testResultSum->testSkippedEvents(), $testResult->testSkippedEvents()),
|
||||||
array_merge_recursive($testResultSum->testMarkedIncompleteEvents(), $testResult->testMarkedIncompleteEvents()),
|
array_merge_recursive($testResultSum->testMarkedIncompleteEvents(), $testResult->testMarkedIncompleteEvents()),
|
||||||
array_merge_recursive($testResultSum->testTriggeredDeprecationEvents(), $testResult->testTriggeredDeprecationEvents()),
|
|
||||||
array_merge_recursive($testResultSum->testTriggeredPhpDeprecationEvents(), $testResult->testTriggeredPhpDeprecationEvents()),
|
|
||||||
array_merge_recursive($testResultSum->testTriggeredPhpunitDeprecationEvents(), $testResult->testTriggeredPhpunitDeprecationEvents()),
|
array_merge_recursive($testResultSum->testTriggeredPhpunitDeprecationEvents(), $testResult->testTriggeredPhpunitDeprecationEvents()),
|
||||||
array_merge_recursive($testResultSum->testTriggeredErrorEvents(), $testResult->testTriggeredErrorEvents()),
|
|
||||||
array_merge_recursive($testResultSum->testTriggeredNoticeEvents(), $testResult->testTriggeredNoticeEvents()),
|
|
||||||
array_merge_recursive($testResultSum->testTriggeredPhpNoticeEvents(), $testResult->testTriggeredPhpNoticeEvents()),
|
|
||||||
array_merge_recursive($testResultSum->testTriggeredWarningEvents(), $testResult->testTriggeredWarningEvents()),
|
|
||||||
array_merge_recursive($testResultSum->testTriggeredPhpWarningEvents(), $testResult->testTriggeredPhpWarningEvents()),
|
|
||||||
array_merge_recursive($testResultSum->testTriggeredPhpunitErrorEvents(), $testResult->testTriggeredPhpunitErrorEvents()),
|
array_merge_recursive($testResultSum->testTriggeredPhpunitErrorEvents(), $testResult->testTriggeredPhpunitErrorEvents()),
|
||||||
array_merge_recursive($testResultSum->testTriggeredPhpunitWarningEvents(), $testResult->testTriggeredPhpunitWarningEvents()),
|
array_merge_recursive($testResultSum->testTriggeredPhpunitWarningEvents(), $testResult->testTriggeredPhpunitWarningEvents()),
|
||||||
array_merge_recursive($testResultSum->testRunnerTriggeredDeprecationEvents(), $testResult->testRunnerTriggeredDeprecationEvents()),
|
array_merge_recursive($testResultSum->testRunnerTriggeredDeprecationEvents(), $testResult->testRunnerTriggeredDeprecationEvents()),
|
||||||
array_merge_recursive($testResultSum->testRunnerTriggeredWarningEvents(), $testResult->testRunnerTriggeredWarningEvents()),
|
array_merge_recursive($testResultSum->testRunnerTriggeredWarningEvents(), $testResult->testRunnerTriggeredWarningEvents()),
|
||||||
|
array_merge_recursive($testResultSum->errors(), $testResult->errors()),
|
||||||
|
array_merge_recursive($testResultSum->deprecations(), $testResult->deprecations()),
|
||||||
|
array_merge_recursive($testResultSum->notices(), $testResult->notices()),
|
||||||
|
array_merge_recursive($testResultSum->warnings(), $testResult->warnings()),
|
||||||
|
array_merge_recursive($testResultSum->phpDeprecations(), $testResult->phpDeprecations()),
|
||||||
|
array_merge_recursive($testResultSum->phpNotices(), $testResult->phpNotices()),
|
||||||
|
array_merge_recursive($testResultSum->phpWarnings(), $testResult->phpWarnings()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$testResultSum = new TestResult(
|
$testResultSum = new TestResult(
|
||||||
$testResultSum->numberOfTests(),
|
ResultReflection::numberOfTests($testResultSum),
|
||||||
$testResultSum->numberOfTestsRun(),
|
$testResultSum->numberOfTestsRun(),
|
||||||
$testResultSum->numberOfAssertions(),
|
$testResultSum->numberOfAssertions(),
|
||||||
$testResultSum->testErroredEvents(),
|
$testResultSum->testErroredEvents(),
|
||||||
@ -307,14 +308,7 @@ final class WrapperRunner implements RunnerInterface
|
|||||||
$testResultSum->testSuiteSkippedEvents(),
|
$testResultSum->testSuiteSkippedEvents(),
|
||||||
$testResultSum->testSkippedEvents(),
|
$testResultSum->testSkippedEvents(),
|
||||||
$testResultSum->testMarkedIncompleteEvents(),
|
$testResultSum->testMarkedIncompleteEvents(),
|
||||||
$testResultSum->testTriggeredDeprecationEvents(),
|
|
||||||
$testResultSum->testTriggeredPhpDeprecationEvents(),
|
|
||||||
$testResultSum->testTriggeredPhpunitDeprecationEvents(),
|
$testResultSum->testTriggeredPhpunitDeprecationEvents(),
|
||||||
$testResultSum->testTriggeredErrorEvents(),
|
|
||||||
$testResultSum->testTriggeredNoticeEvents(),
|
|
||||||
$testResultSum->testTriggeredPhpNoticeEvents(),
|
|
||||||
$testResultSum->testTriggeredWarningEvents(),
|
|
||||||
$testResultSum->testTriggeredPhpWarningEvents(),
|
|
||||||
$testResultSum->testTriggeredPhpunitErrorEvents(),
|
$testResultSum->testTriggeredPhpunitErrorEvents(),
|
||||||
$testResultSum->testTriggeredPhpunitWarningEvents(),
|
$testResultSum->testTriggeredPhpunitWarningEvents(),
|
||||||
$testResultSum->testRunnerTriggeredDeprecationEvents(),
|
$testResultSum->testRunnerTriggeredDeprecationEvents(),
|
||||||
@ -322,6 +316,13 @@ final class WrapperRunner implements RunnerInterface
|
|||||||
$testResultSum->testRunnerTriggeredWarningEvents(),
|
$testResultSum->testRunnerTriggeredWarningEvents(),
|
||||||
fn (WarningTriggered $event): bool => ! str_contains($event->message(), 'No tests found')
|
fn (WarningTriggered $event): bool => ! str_contains($event->message(), 'No tests found')
|
||||||
)),
|
)),
|
||||||
|
$testResultSum->errors(),
|
||||||
|
$testResultSum->deprecations(),
|
||||||
|
$testResultSum->notices(),
|
||||||
|
$testResultSum->warnings(),
|
||||||
|
$testResultSum->phpDeprecations(),
|
||||||
|
$testResultSum->phpNotices(),
|
||||||
|
$testResultSum->phpWarnings(),
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->printer->printResults(
|
$this->printer->printResults(
|
||||||
|
|||||||
@ -134,6 +134,10 @@ final class CompactPrinter
|
|||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
);
|
);
|
||||||
|
|
||||||
$telemetry = new Info(
|
$telemetry = new Info(
|
||||||
|
|||||||
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Pest;
|
namespace Pest;
|
||||||
|
|
||||||
|
use NunoMaduro\Collision\Adapters\Phpunit\Support\ResultReflection;
|
||||||
use PHPUnit\TestRunner\TestResult\TestResult;
|
use PHPUnit\TestRunner\TestResult\TestResult;
|
||||||
use PHPUnit\TextUI\Configuration\Configuration;
|
use PHPUnit\TextUI\Configuration\Configuration;
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ final class Result
|
|||||||
return self::SUCCESS_EXIT;
|
return self::SUCCESS_EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($configuration->failOnEmptyTestSuite() && $result->numberOfTests() === 0) {
|
if ($configuration->failOnEmptyTestSuite() && ResultReflection::numberOfTests($result) === 0) {
|
||||||
return self::FAILURE_EXIT;
|
return self::FAILURE_EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,9 +54,9 @@ final class Result
|
|||||||
$returnCode = self::FAILURE_EXIT;
|
$returnCode = self::FAILURE_EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
$warnings = $result->numberOfTestsWithTestTriggeredPhpunitWarningEvents()
|
$warnings = $result->numberOfTestsWithTestTriggeredPhpunitWarningEvents() +
|
||||||
+ $result->numberOfTestsWithTestTriggeredWarningEvents()
|
+count($result->warnings())
|
||||||
+ $result->numberOfTestsWithTestTriggeredPhpWarningEvents();
|
+ count($result->phpWarnings());
|
||||||
|
|
||||||
if ($configuration->failOnWarning() && $warnings > 0) {
|
if ($configuration->failOnWarning() && $warnings > 0) {
|
||||||
$returnCode = self::FAILURE_EXIT;
|
$returnCode = self::FAILURE_EXIT;
|
||||||
|
|||||||
@ -74,64 +74,76 @@ final class StateGenerator
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($testResult->testTriggeredDeprecationEvents() as $testResultEvent) {
|
foreach ($testResult->deprecations() as $testResultEvent) {
|
||||||
$testResultEvent = $testResultEvent[0];
|
foreach ($testResultEvent->triggeringTests() as $triggeringTest) {
|
||||||
|
['test' => $test] = $triggeringTest;
|
||||||
|
|
||||||
$state->add(TestResult::fromPestParallelTestCase(
|
$state->add(TestResult::fromPestParallelTestCase(
|
||||||
$testResultEvent->test(),
|
$test,
|
||||||
TestResult::DEPRECATED,
|
TestResult::DEPRECATED,
|
||||||
ThrowableBuilder::from(new TestOutcome($testResultEvent->message()))
|
ThrowableBuilder::from(new TestOutcome($testResultEvent->description()))
|
||||||
));
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($testResult->testTriggeredPhpDeprecationEvents() as $testResultEvent) {
|
foreach ($testResult->phpDeprecations() as $testResultEvent) {
|
||||||
$testResultEvent = $testResultEvent[0];
|
foreach ($testResultEvent->triggeringTests() as $triggeringTest) {
|
||||||
|
['test' => $test] = $triggeringTest;
|
||||||
|
|
||||||
$state->add(TestResult::fromPestParallelTestCase(
|
$state->add(TestResult::fromPestParallelTestCase(
|
||||||
$testResultEvent->test(),
|
$test,
|
||||||
TestResult::DEPRECATED,
|
TestResult::DEPRECATED,
|
||||||
ThrowableBuilder::from(new TestOutcome($testResultEvent->message()))
|
ThrowableBuilder::from(new TestOutcome($testResultEvent->description()))
|
||||||
));
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($testResult->testTriggeredNoticeEvents() as $testResultEvent) {
|
foreach ($testResult->notices() as $testResultEvent) {
|
||||||
$testResultEvent = $testResultEvent[0];
|
foreach ($testResultEvent->triggeringTests() as $triggeringTest) {
|
||||||
|
['test' => $test] = $triggeringTest;
|
||||||
|
|
||||||
$state->add(TestResult::fromPestParallelTestCase(
|
$state->add(TestResult::fromPestParallelTestCase(
|
||||||
$testResultEvent->test(),
|
$test,
|
||||||
TestResult::NOTICE,
|
TestResult::NOTICE,
|
||||||
ThrowableBuilder::from(new TestOutcome($testResultEvent->message()))
|
ThrowableBuilder::from(new TestOutcome($testResultEvent->description()))
|
||||||
));
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($testResult->testTriggeredPhpNoticeEvents() as $testResultEvent) {
|
foreach ($testResult->phpNotices() as $testResultEvent) {
|
||||||
$testResultEvent = $testResultEvent[0];
|
foreach ($testResultEvent->triggeringTests() as $triggeringTest) {
|
||||||
|
['test' => $test] = $triggeringTest;
|
||||||
|
|
||||||
$state->add(TestResult::fromPestParallelTestCase(
|
$state->add(TestResult::fromPestParallelTestCase(
|
||||||
$testResultEvent->test(),
|
$test,
|
||||||
TestResult::NOTICE,
|
TestResult::NOTICE,
|
||||||
ThrowableBuilder::from(new TestOutcome($testResultEvent->message()))
|
ThrowableBuilder::from(new TestOutcome($testResultEvent->description()))
|
||||||
));
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($testResult->testTriggeredWarningEvents() as $testResultEvent) {
|
foreach ($testResult->warnings() as $testResultEvent) {
|
||||||
$testResultEvent = $testResultEvent[0];
|
foreach ($testResultEvent->triggeringTests() as $triggeringTest) {
|
||||||
|
['test' => $test] = $triggeringTest;
|
||||||
|
|
||||||
$state->add(TestResult::fromPestParallelTestCase(
|
$state->add(TestResult::fromPestParallelTestCase(
|
||||||
$testResultEvent->test(),
|
$test,
|
||||||
TestResult::WARN,
|
TestResult::WARN,
|
||||||
ThrowableBuilder::from(new TestOutcome($testResultEvent->message()))
|
ThrowableBuilder::from(new TestOutcome($testResultEvent->description()))
|
||||||
));
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($testResult->testTriggeredPhpWarningEvents() as $testResultEvent) {
|
foreach ($testResult->phpWarnings() as $testResultEvent) {
|
||||||
$testResultEvent = $testResultEvent[0];
|
foreach ($testResultEvent->triggeringTests() as $triggeringTest) {
|
||||||
|
['test' => $test] = $triggeringTest;
|
||||||
|
|
||||||
$state->add(TestResult::fromPestParallelTestCase(
|
$state->add(TestResult::fromPestParallelTestCase(
|
||||||
$testResultEvent->test(),
|
$test,
|
||||||
TestResult::WARN,
|
TestResult::WARN,
|
||||||
ThrowableBuilder::from(new TestOutcome($testResultEvent->message()))
|
ThrowableBuilder::from(new TestOutcome($testResultEvent->description()))
|
||||||
));
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// for each test that passed, we need to add it to the state
|
// for each test that passed, we need to add it to the state
|
||||||
@ -140,7 +152,7 @@ final class StateGenerator
|
|||||||
new TestMethod(
|
new TestMethod(
|
||||||
"$i", // @phpstan-ignore-line
|
"$i", // @phpstan-ignore-line
|
||||||
'', // @phpstan-ignore-line
|
'', // @phpstan-ignore-line
|
||||||
'',
|
'', // @phpstan-ignore-line
|
||||||
1,
|
1,
|
||||||
TestDoxBuilder::fromClassNameAndMethodName('', ''), // @phpstan-ignore-line
|
TestDoxBuilder::fromClassNameAndMethodName('', ''), // @phpstan-ignore-line
|
||||||
MetadataCollection::fromArray([]),
|
MetadataCollection::fromArray([]),
|
||||||
|
|||||||
@ -1,7 +0,0 @@
|
|||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<h1>Snapshot</h1>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"key": " <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h1>Snapshot<\/h1>\n <\/div>\n <\/div>\n <\/div>"
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<h1>Snapshot</h1>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"key": " <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h1>Snapshot<\/h1>\n <\/div>\n <\/div>\n <\/div>"
|
|
||||||
}
|
|
||||||
@ -1210,4 +1210,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, 13 todos, 19 skipped, 860 passed (1979 assertions)
|
Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 13 todos, 19 skipped, 860 passed (1975 assertions)
|
||||||
Reference in New Issue
Block a user