Skip to content

Commit 254085f

Browse files
Handle namespaced classes that do not extend TestCase
1 parent acee377 commit 254085f

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/Runner/TestSuiteLoader.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
use function array_diff;
1313
use function array_values;
1414
use function basename;
15-
use function class_exists;
1615
use function get_declared_classes;
1716
use function realpath;
1817
use function str_ends_with;
@@ -77,11 +76,13 @@ public function load(string $suiteClassFile): ReflectionClass
7776
throw $e;
7877
}
7978

80-
if (!class_exists($suiteClassName)) {
81-
throw new ClassCannotBeFoundException($suiteClassName, $suiteClassFile);
79+
foreach ($loadedClasses as $className) {
80+
if (str_ends_with(strtolower($className), strtolower($suiteClassName))) {
81+
throw new ClassDoesNotExtendTestCaseException($className, $suiteClassFile);
82+
}
8283
}
8384

84-
throw new ClassDoesNotExtendTestCaseException($suiteClassName, $suiteClassFile);
85+
throw new ClassCannotBeFoundException($suiteClassName, $suiteClassFile);
8586
}
8687

8788
private function classNameFromFileName(string $suiteClassFile): string

tests/end-to-end/regression/5364.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Time: %s, Memory: %s
1919

2020
There was 1 PHPUnit test runner warning:
2121

22-
1) Class BarTest cannot be found in %sBarTest.php
22+
1) Class PHPUnit\TestFixture\Issue5364\BarTest declared in %sBarTest.php does not extend PHPUnit\Framework\TestCase
2323

2424
WARNINGS!
2525
Tests: 1, Assertions: 1, Warnings: 1.

0 commit comments

Comments
 (0)