Skip to content

Commit dfe787d

Browse files
staabmsebastianbergmann
authored andcommitted
reference previous dataprovider by label
1 parent b301867 commit dfe787d

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

src/Metadata/Api/DataProvider.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,9 @@ private function dataProvidedByMethods(string $className, string $methodName, Me
197197

198198
throw InvalidDataProviderException::forProvider(
199199
sprintf(
200-
'The key "%s" has already been defined by a previous data provider',
200+
'The key "%s" has already been defined by provider %s',
201201
$key,
202+
$result[$key]->getProviderLabel(),
202203
),
203204
$providerLabel,
204205
);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Data Provider Method Finished for PHPUnit\TestFixture\Event\DataProviderDuplicat
1919
- PHPUnit\TestFixture\Event\DataProviderDuplicateKeyTest::provider
2020
Test Triggered PHPUnit Error (PHPUnit\TestFixture\Event\DataProviderDuplicateKeyTest::testSomething)
2121
The data provider PHPUnit\TestFixture\Event\DataProviderDuplicateKeyTest::provider specified for PHPUnit\TestFixture\Event\DataProviderDuplicateKeyTest::testSomething is invalid
22-
The key "key" has already been defined by a previous data provider
22+
The key "key" has already been defined by provider PHPUnit\TestFixture\Event\DataProviderDuplicateKeyTest::provider
2323
Test Runner Triggered Warning (No tests found in class "PHPUnit\TestFixture\Event\DataProviderDuplicateKeyTest".)
2424
Test Suite Loaded (0 tests)
2525
Test Runner Started

tests/unit/Metadata/Api/DataProviderTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public function testWithVariousIterableNonStaticDataProviders(): void
172172
public function testWithDuplicateKeyDataProvider(): void
173173
{
174174
$this->expectException(InvalidDataProviderException::class);
175-
$this->expectExceptionMessage('The key "foo" has already been defined by a previous data provider');
175+
$this->expectExceptionMessage('The key "foo" has already been defined by provider PHPUnit\TestFixture\DuplicateKeyDataProviderTest::dataProvider');
176176

177177
/* @noinspection UnusedFunctionResultInspection */
178178
(new DataProvider)->providedData(DuplicateKeyDataProviderTest::class, 'test');
@@ -204,7 +204,7 @@ public function testTestWithAttributeWithDuplicateKey(): void
204204
public function testWithDuplicateKeyDataProviders(): void
205205
{
206206
$this->expectException(InvalidDataProviderException::class);
207-
$this->expectExceptionMessage('The key "bar" has already been defined by a previous data provider');
207+
$this->expectExceptionMessage('The key "bar" has already been defined by provider PHPUnit\TestFixture\DuplicateKeyDataProvidersTest::dataProvider1');
208208

209209
/* @noinspection UnusedFunctionResultInspection */
210210
(new DataProvider)->providedData(DuplicateKeyDataProvidersTest::class, 'test');

0 commit comments

Comments
 (0)