fix: discovering phpunit tests on parallel

This commit is contained in:
Nuno Maduro
2023-03-02 14:09:18 +00:00
parent b15dc03d16
commit e9f83dc020
2 changed files with 22 additions and 1 deletions

View File

@ -128,6 +128,27 @@ final class TestSuiteLoader
}
}
if (! $testCaseFound) {
foreach (array_reverse($loadedClasses) as $loadedClass) {
$offset = 0 - strlen($suiteClassName);
if (stripos(substr($loadedClass, $offset - 1), '\\'.$suiteClassName) === 0 ||
stripos(substr($loadedClass, $offset - 1), '_'.$suiteClassName) === 0) {
try {
$class = new ReflectionClass($loadedClass);
// @codeCoverageIgnoreStart
} catch (ReflectionException) {
continue;
}
$suiteClassName = $loadedClass;
$testCaseFound = true;
break;
}
}
}
if (! $testCaseFound) {
return $this->exceptionFor($suiteClassName, $suiteClassFile);
}

View File

@ -15,6 +15,6 @@ $run = function () {
};
test('parallel', function () use ($run) {
expect($run())->toContain('Tests: 4 incomplete, 4 todos, 15 skipped, 626 passed (1550 assertions)')
expect($run())->toContain('Tests: 4 incomplete, 4 todos, 15 skipped, 627 passed (1551 assertions)')
->toContain('Parallel: 3 processes');
});