Skip to content

Commit e81f031

Browse files
committed
test: add UsesClass attributes to fix PHPUnit 12.5.x coverage warnings
PHPUnit 12.5.x is stricter about coverage attribution: - Tests that touch classes not listed in CoversClass/UsesClass are marked risky or produce 'not a valid target' warnings with --coverage. ToolExceptionTest: #[UsesClass(DevkitException::class)] ToolException extends DevkitException — parent is touched implicitly. ConfigurationExceptionTest: #[UsesClass(DevkitException::class)] Same reason. QualityReportTest: #[UsesClass(ToolResult::class)] QualityReport helper creates ToolResult instances directly.
1 parent 96f1b03 commit e81f031

3 files changed

Lines changed: 6 additions & 0 deletions

File tree

tests/Unit/Exception/ConfigurationExceptionTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
use KaririCode\Devkit\Exception\DevkitException;
99
use PHPUnit\Framework\Attributes\CoversClass;
1010
use PHPUnit\Framework\Attributes\Test;
11+
use PHPUnit\Framework\Attributes\UsesClass;
1112
use PHPUnit\Framework\TestCase;
1213

1314
#[CoversClass(ConfigurationException::class)]
15+
#[UsesClass(DevkitException::class)]
1416
final class ConfigurationExceptionTest extends TestCase
1517
{
1618
#[Test]

tests/Unit/Exception/ToolExceptionTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
use KaririCode\Devkit\Exception\ToolException;
99
use PHPUnit\Framework\Attributes\CoversClass;
1010
use PHPUnit\Framework\Attributes\Test;
11+
use PHPUnit\Framework\Attributes\UsesClass;
1112
use PHPUnit\Framework\TestCase;
1213

1314
#[CoversClass(ToolException::class)]
15+
#[UsesClass(DevkitException::class)]
1416
final class ToolExceptionTest extends TestCase
1517
{
1618
#[Test]

tests/Unit/ValueObject/QualityReportTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
use KaririCode\Devkit\ValueObject\ToolResult;
99
use PHPUnit\Framework\Attributes\CoversClass;
1010
use PHPUnit\Framework\Attributes\Test;
11+
use PHPUnit\Framework\Attributes\UsesClass;
1112
use PHPUnit\Framework\TestCase;
1213

1314
#[CoversClass(QualityReport::class)]
15+
#[UsesClass(ToolResult::class)]
1416
final class QualityReportTest extends TestCase
1517
{
1618
private function makeResult(string $name, int $exitCode, float $elapsed = 0.1): ToolResult

0 commit comments

Comments
 (0)