diff --git a/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php b/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php index 47486dfb26e2..3075d6fdb002 100644 --- a/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php +++ b/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php @@ -73,10 +73,19 @@ public function startTest($test) $r = new \ReflectionProperty($testClass, 'annotationCache'); $r->setAccessible(true); + $covers = $sutFqcn; + if (!\is_array($sutFqcn)) { + $covers = [$sutFqcn]; + while ($parent = get_parent_class($sutFqcn)) { + $covers[] = $parent; + $sutFqcn = $parent; + } + } + $cache = $r->getValue(); $cache = array_replace_recursive($cache, array( \get_class($test) => array( - 'covers' => \is_array($sutFqcn) ? $sutFqcn : array($sutFqcn), + 'covers' => $covers, ), )); $r->setValue($testClass, $cache);