Skip to content

Commit 7800ff5

Browse files
Emit Test\PreparationFailed event when an unexpected exception is triggered in a before-test method
1 parent 41d7965 commit 7800ff5

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

ChangeLog-11.5.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ All notable changes of the PHPUnit 11.5 release series are documented in this fi
66

77
### Fixed
88

9+
* A `Test\PreparationFailed` event is now emitted in addition to a `Test\Errored` event when an unexpected exception is triggered in a before-test method
910
* A `Test\Passed` event is no longer emitted in addition to a `Test\Failed` or `Test\Errored` event when an assertion failure or an unexpected exception is triggered in an after-test method
1011
* A `TestSuite\Finished` event is now emitted when a before-first-test method errors
1112

src/Framework/TestCase.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,12 @@ final public function runBare(): void
565565

566566
$this->status = TestStatus::error($e->getMessage());
567567

568+
if (!$this->wasPrepared) {
569+
$emitter->testPreparationFailed(
570+
$this->valueObjectForEvents(),
571+
);
572+
}
573+
568574
$emitter->testErrored(
569575
$this->valueObjectForEvents(),
570576
Event\Code\ThrowableBuilder::from($e),

tests/end-to-end/event/exception-in-before-test-method.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Before Test Method Called (PHPUnit\TestFixture\Event\ExceptionInSetUpTest::setUp
2424
Before Test Method Errored (PHPUnit\TestFixture\Event\ExceptionInSetUpTest::setUp)
2525
Before Test Method Finished:
2626
- PHPUnit\TestFixture\Event\ExceptionInSetUpTest::setUp
27+
Test Preparation Failed (PHPUnit\TestFixture\Event\ExceptionInSetUpTest::testOne)
2728
Test Errored (PHPUnit\TestFixture\Event\ExceptionInSetUpTest::testOne)
2829
Test Suite Finished (PHPUnit\TestFixture\Event\ExceptionInSetUpTest, 1 test)
2930
Test Runner Execution Finished

0 commit comments

Comments
 (0)