Skip to content

Commit 15186d3

Browse files
Emit DataProviderMethodFinished event also in case provided set has an invalid key
1 parent aaf2edb commit 15186d3

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/Metadata/Api/DataProvider.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,11 @@ private function dataProvidedByMethods(string $className, string $methodName, Me
186186

187187
$result[$key] = $value;
188188
} else {
189+
Event\Facade::emitter()->dataProviderMethodFinished(
190+
$testMethod,
191+
...$methodsCalled,
192+
);
193+
189194
throw new InvalidDataProviderException(
190195
sprintf(
191196
'The key must be an integer or a string, %s given',

tests/end-to-end/event/data-provider-invalid-key.phpt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ PHPUnit Started (PHPUnit %s using %s)
1515
Test Runner Configured
1616
Event Facade Sealed
1717
Data Provider Method Called (PHPUnit\TestFixture\Event\DataProviderInvalidKeyTest::provider for test method PHPUnit\TestFixture\Event\DataProviderInvalidKeyTest::testOne)
18+
Data Provider Method Finished for PHPUnit\TestFixture\Event\DataProviderInvalidKeyTest::testOne:
19+
- PHPUnit\TestFixture\Event\DataProviderInvalidKeyTest::provider
1820
Test Triggered PHPUnit Error (PHPUnit\TestFixture\Event\DataProviderInvalidKeyTest::testOne)
1921
The data provider specified for PHPUnit\TestFixture\Event\DataProviderInvalidKeyTest::testOne is invalid
2022
The key must be an integer or a string, float given

0 commit comments

Comments
 (0)