fix: test suite loader duplicating tests

This commit is contained in:
Nuno Maduro
2022-12-20 22:42:29 +00:00
parent 8d018ea3f1
commit 9596274b14
3 changed files with 8 additions and 12 deletions

View File

@ -98,14 +98,14 @@ final class TestSuiteLoader
self::$loadedClasses = array_merge($loadedClasses, self::$loadedClasses);
if (empty(self::$loadedClasses)) {
if (empty($loadedClasses)) {
return $this->exceptionFor($suiteClassName, $suiteClassFile);
}
$testCaseFound = false;
foreach (self::$loadedClasses as $loadedClass) {
if (is_subclass_of($loadedClass, HasPrintableTestCaseName::class)) {
foreach (array_reverse($loadedClasses) as $loadedClass) {
if (is_subclass_of($loadedClass, HasPrintableTestCaseName::class) || is_subclass_of($loadedClass, TestCase::class)) {
$suiteClassName = $loadedClass;
$testCaseFound = true;
@ -115,13 +115,7 @@ final class TestSuiteLoader
}
if (! $testCaseFound) {
foreach (self::$loadedClasses as $loadedClass) {
if (is_subclass_of($loadedClass, TestCase::class)) {
$suiteClassName = $loadedClass;
break;
}
}
return $this->exceptionFor($suiteClassName, $suiteClassFile);
}
if (! class_exists($suiteClassName, false)) {

View File

@ -13,7 +13,6 @@ trait Retrievable
* @template TRetrievableValue
*
* Safely retrieve the value at the given key from an object or array.
*
* @template TRetrievableValue
*
* @param array<string, TRetrievableValue>|object $value

View File

@ -779,6 +779,9 @@
PASS Tests\PHPUnit\CustomAffixes\snakecasespec
✓ it runs file names like `snake_case_spec.php`
PASS Tests\CustomTestCase\ExecutedTest
✓ that gets executed
PASS Tests\PHPUnit\CustomTestCase\UsesPerDirectory
✓ closure was bound to CustomTestCase
@ -894,4 +897,4 @@
PASS Tests\Visual\Version
✓ visual snapshot of help command output
Tests: 4 incomplete, 2 todos, 18 skipped, 621 passed (1533 assertions)
Tests: 4 incomplete, 2 todos, 18 skipped, 622 passed (1509 assertions)