Skip to content

Commit 870a465

Browse files
staabmsebastianbergmann
authored andcommitted
reference dataprovider in more error messages
1 parent dfe787d commit 870a465

File tree

6 files changed

+11
-9
lines changed

6 files changed

+11
-9
lines changed

src/Metadata/Api/DataProvider.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,9 @@ public function providedData(string $className, string $methodName): ?array
7373
if (!is_array($value)) {
7474
throw InvalidDataProviderException::forProvider(
7575
sprintf(
76-
'Data set %s is invalid, expected array but got %s',
76+
'Data set %s provided by %s is invalid, expected array but got %s',
7777
$this->formatKey($key),
78+
$providedData->getProviderLabel(),
7879
get_debug_type($value),
7980
),
8081
$providedData->getProviderLabel(),
@@ -96,8 +97,9 @@ public function providedData(string $className, string $methodName): ?array
9697
Event\TestData\TestDataCollection::fromArray([]),
9798
),
9899
sprintf(
99-
'Data set %s has more arguments (%d) than the test method accepts (%d)',
100+
'Data set %s provided by %s has more arguments (%d) than the test method accepts (%d)',
100101
$this->formatKey($key),
102+
$providedData->getProviderLabel(),
101103
count($value),
102104
$testMethodNumberOfParameters,
103105
),

tests/end-to-end/data-provider/too-many-arguments.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Time: %s, Memory: %s
2020
1 test triggered 1 PHPUnit warning:
2121

2222
1) PHPUnit\TestFixture\DataProviderTooManyArgumentsTest::testMethodHavingTwoParameters
23-
Data set #2 has more arguments (3) than the test method accepts (2)
23+
Data set #2 provided by PHPUnit\TestFixture\DataProviderTooManyArgumentsTest::provider has more arguments (3) than the test method accepts (2)
2424

2525
%s:%d
2626

tests/end-to-end/event/invalid-data-provider-with-passing-test.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\InvalidDataProviderW
1919
- PHPUnit\TestFixture\Event\InvalidDataProviderWithOneTestPassingTest::provider
2020
Test Triggered PHPUnit Error (PHPUnit\TestFixture\Event\InvalidDataProviderWithOneTestPassingTest::testOne)
2121
The data provider PHPUnit\TestFixture\Event\InvalidDataProviderWithOneTestPassingTest::provider specified for PHPUnit\TestFixture\Event\InvalidDataProviderWithOneTestPassingTest::testOne is invalid
22-
Data set #0 is invalid, expected array but got int
22+
Data set #0 provided by PHPUnit\TestFixture\Event\InvalidDataProviderWithOneTestPassingTest::provider is invalid, expected array but got int
2323
Test Suite Loaded (1 test)
2424
Test Runner Started
2525
Test Suite Sorted

tests/end-to-end/event/invalid-data-provider.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\InvalidDataProviderT
1919
- PHPUnit\TestFixture\Event\InvalidDataProviderTest::provider
2020
Test Triggered PHPUnit Error (PHPUnit\TestFixture\Event\InvalidDataProviderTest::testOne)
2121
The data provider PHPUnit\TestFixture\Event\InvalidDataProviderTest::provider specified for PHPUnit\TestFixture\Event\InvalidDataProviderTest::testOne is invalid
22-
Data set #0 is invalid, expected array but got int
22+
Data set #0 provided by PHPUnit\TestFixture\Event\InvalidDataProviderTest::provider is invalid, expected array but got int
2323
Test Runner Triggered Warning (No tests found in class "PHPUnit\TestFixture\Event\InvalidDataProviderTest".)
2424
Test Suite Loaded (0 tests)
2525
Test Runner Started

tests/end-to-end/regression/2137-filter.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ There were 2 PHPUnit errors:
1919

2020
1) PHPUnit\TestFixture\Issue2137Test::testBrandService
2121
The data provider PHPUnit\TestFixture\Issue2137Test::provideBrandService specified for PHPUnit\TestFixture\Issue2137Test::testBrandService is invalid
22-
Data set #0 is invalid, expected array but got stdClass
22+
Data set #0 provided by PHPUnit\TestFixture\Issue2137Test::provideBrandService is invalid, expected array but got stdClass
2323

2424
%s:%d
2525

2626
2) PHPUnit\TestFixture\Issue2137Test::testSomethingElseInvalid
2727
The data provider PHPUnit\TestFixture\Issue2137Test::provideBrandService specified for PHPUnit\TestFixture\Issue2137Test::testSomethingElseInvalid is invalid
28-
Data set #0 is invalid, expected array but got stdClass
28+
Data set #0 provided by PHPUnit\TestFixture\Issue2137Test::provideBrandService is invalid, expected array but got stdClass
2929

3030
%s:%d
3131

tests/end-to-end/regression/2137-no_filter.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ There were 2 PHPUnit errors:
1717

1818
1) PHPUnit\TestFixture\Issue2137Test::testBrandService
1919
The data provider PHPUnit\TestFixture\Issue2137Test::provideBrandService specified for PHPUnit\TestFixture\Issue2137Test::testBrandService is invalid
20-
Data set #0 is invalid, expected array but got stdClass
20+
Data set #0 provided by PHPUnit\TestFixture\Issue2137Test::provideBrandService is invalid, expected array but got stdClass
2121

2222
%s:%d
2323

2424
2) PHPUnit\TestFixture\Issue2137Test::testSomethingElseInvalid
2525
The data provider PHPUnit\TestFixture\Issue2137Test::provideBrandService specified for PHPUnit\TestFixture\Issue2137Test::testSomethingElseInvalid is invalid
26-
Data set #0 is invalid, expected array but got stdClass
26+
Data set #0 provided by PHPUnit\TestFixture\Issue2137Test::provideBrandService is invalid, expected array but got stdClass
2727

2828
%s:%d
2929

0 commit comments

Comments
 (0)