diff --git a/src/Factories/Attributes/Covers.php b/src/Factories/Attributes/Covers.php index e474e67e..67cf44ad 100644 --- a/src/Factories/Attributes/Covers.php +++ b/src/Factories/Attributes/Covers.php @@ -32,9 +32,9 @@ final class Covers extends Attribute { foreach ($method->covers as $covering) { if ($covering instanceof CoversClass) { - $attributes[] = "#[\PHPUnit\Framework\Attributes\CoversClass({$covering->class}]"; + $attributes[] = "#[\PHPUnit\Framework\Attributes\CoversClass({$covering->class}::class)]"; } else if ($covering instanceof CoversFunction) { - $attributes[] = "#[\PHPUnit\Framework\Attributes\CoversFunction('{$covering->function}']"; + $attributes[] = "#[\PHPUnit\Framework\Attributes\CoversFunction('{$covering->function}')]"; } else { $attributes[] = "#[\PHPUnit\Framework\Attributes\CoversNothing]"; } diff --git a/src/Factories/TestCaseFactory.php b/src/Factories/TestCaseFactory.php index 76014818..d568ee3e 100644 --- a/src/Factories/TestCaseFactory.php +++ b/src/Factories/TestCaseFactory.php @@ -159,13 +159,15 @@ final class TestCaseFactory foreach (self::$attributes as $attribute) { if ($attribute::ABOVE_CLASS) { - /** @phpstan-ignore-next-line */ - $classAttributes = (new $attribute())->__invoke($this, $classAttributes); + foreach ($methods as $methodFactory) { + $classAttributes = (new $attribute())->__invoke($methodFactory, $classAttributes); + } } } $classAttributes = implode('', array_map( - static fn ($attribute) => sprintf("\n %s", $attribute), $classAttributes, + static fn ($attribute) => sprintf("\n %s", $attribute), + array_unique($classAttributes), )); try {