Skip to content

Commit 70d645f

Browse files
Add tests for error cases in testWith annotation handling
1 parent 319bb00 commit 70d645f

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

tests/_files/Metadata/Annotation/tests/TestWithTest.php

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,23 @@ final class TestWithTest extends TestCase
1616
/**
1717
* @testWith [1, 2, 3]
1818
*/
19-
public function testOne(): void
19+
public function testDataSetIsValidJson(): void
20+
{
21+
$this->assertTrue(true);
22+
}
23+
24+
/**
25+
* @testWith [1, 2, 3}
26+
*/
27+
public function testDataSetIsInvalidJson(): void
28+
{
29+
$this->assertTrue(true);
30+
}
31+
32+
/**
33+
* @testWith ...
34+
*/
35+
public function testDataSetCannotBeParsed(): void
2036
{
2137
$this->assertTrue(true);
2238
}

tests/end-to-end/event/testwith-annotation.phpt

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,26 @@ unlink($traceFile);
2121
--EXPECTF--
2222
PHPUnit Started (PHPUnit %s using %s)
2323
Test Runner Configured
24+
Test Triggered PHPUnit Error (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsInvalidJson)
25+
The data provider specified for PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsInvalidJson is invalid
26+
The data set for the @testWith annotation cannot be parsed: State mismatch (invalid or malformed JSON)
27+
Test Triggered PHPUnit Error (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetCannotBeParsed)
28+
The data provider specified for PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetCannotBeParsed is invalid
29+
The data set for the @testWith annotation cannot be parsed.
2430
Test Suite Loaded (1 test)
2531
Event Facade Sealed
2632
Test Runner Started
2733
Test Suite Sorted
2834
Test Runner Execution Started (1 test)
2935
Test Suite Started (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest, 1 test)
30-
Test Suite Started (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testOne, 1 test)
31-
Test Preparation Started (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testOne#0)
32-
Test Prepared (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testOne#0)
36+
Test Suite Started (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsValidJson, 1 test)
37+
Test Preparation Started (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsValidJson#0)
38+
Test Prepared (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsValidJson#0)
3339
Assertion Succeeded (Constraint: is true, Value: true)
34-
Test Passed (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testOne#0)
35-
Test Finished (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testOne#0)
36-
Test Suite Finished (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testOne, 1 test)
40+
Test Passed (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsValidJson#0)
41+
Test Finished (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsValidJson#0)
42+
Test Suite Finished (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest::testDataSetIsValidJson, 1 test)
3743
Test Suite Finished (PHPUnit\TestFixture\Metadata\Annotation\TestWithTest, 1 test)
3844
Test Runner Execution Finished
3945
Test Runner Finished
40-
PHPUnit Finished (Shell Exit Code: 0)
46+
PHPUnit Finished (Shell Exit Code: 2)

0 commit comments

Comments
 (0)