[PhpUnitBridge] Skip internal classes in CoverageListenerTrait

This commit is contained in:
Alexey Kopytko 2020-09-08 00:10:35 +09:00 committed by Nicolas Grekas
parent 2248fa5fbd
commit a0dedb9aa6

View File

@ -107,6 +107,13 @@ class CoverageListenerTrait
$symbolAnnotations = new \ReflectionProperty($docBlock, 'symbolAnnotations');
$symbolAnnotations->setAccessible(true);
// Exclude internal classes; PHPUnit 9.1+ is picky about tests covering, say, a \RuntimeException
$covers = array_filter($covers, function ($class) {
$reflector = new ReflectionClass($class);
return $reflector->isUserDefined();
});
$symbolAnnotations->setValue($docBlock, array_replace($docBlock->symbolAnnotations(), [
'covers' => $covers,
]));