Skip to content

Commit d840e12

Browse files
committed
test(coverage): fix PHPUnit Warnings with pcov coverage driver
With pcov enabled (beStrictAboutCoverageMetadata=true), PHPUnit 12.5.x reports Warnings when: 1. UsesClass/CoversClass targets interfaces (ConfigGenerator, ToolRunner) 2. UsesClass/CoversClass targets exception classes that extend RuntimeException (ConfigurationException, DevkitException, ToolException) — pcov cannot instrument these as valid coverage targets Changes: - DevkitConfigTest: remove UsesClass(ConfigurationException) - DevkitTest: remove UsesClass(DevkitException, ConfigGenerator, ToolRunner) - ProjectDetectorTest: remove UsesClass(DevkitException) - DevkitExceptionTest: CoversClass → #[CoversNothing] - ConfigurationExceptionTest: CoversClass+UsesClass → #[CoversNothing] - ToolExceptionTest: CoversClass+UsesClass → #[CoversNothing] Also: installed php8.4-pcov (apt) to enable local coverage analysis. Symlinked vendor/bin/kcode → ../../bin/kcode for make targets. Result: make test now passes locally. 158 tests · 0 failures · 0 risky · 0 warnings · ✓
1 parent 353ffc5 commit d840e12

6 files changed

Lines changed: 6 additions & 16 deletions

File tree

tests/Unit/Core/DevkitConfigTest.php

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

1413
#[CoversClass(DevkitConfig::class)]
15-
#[UsesClass(ConfigurationException::class)]
1614
final class DevkitConfigTest extends TestCase
1715
{
1816
private string $tmpDir;

tests/Unit/Core/DevkitTest.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,8 @@
2222
#[UsesClass(ProjectContext::class)]
2323
#[UsesClass(ProjectDetector::class)]
2424
#[UsesClass(DevkitConfig::class)]
25-
#[UsesClass(DevkitException::class)]
2625
#[UsesClass(QualityReport::class)]
2726
#[UsesClass(ToolResult::class)]
28-
#[UsesClass(\KaririCode\Devkit\Contract\ConfigGenerator::class)]
29-
#[UsesClass(\KaririCode\Devkit\Contract\ToolRunner::class)]
3027
final class DevkitTest extends TestCase
3128
{
3229
private string $tmpDir;

tests/Unit/Core/ProjectDetectorTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#[CoversClass(ProjectDetector::class)]
1717
#[UsesClass(ProjectContext::class)]
1818
#[UsesClass(DevkitConfig::class)]
19-
#[UsesClass(DevkitException::class)]
2019
final class ProjectDetectorTest extends TestCase
2120
{
2221
private string $tmpDir;

tests/Unit/Exception/ConfigurationExceptionTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@
66

77
use KaririCode\Devkit\Exception\ConfigurationException;
88
use KaririCode\Devkit\Exception\DevkitException;
9-
use PHPUnit\Framework\Attributes\CoversClass;
9+
use PHPUnit\Framework\Attributes\CoversNothing;
1010
use PHPUnit\Framework\Attributes\Test;
11-
use PHPUnit\Framework\Attributes\UsesClass;
1211
use PHPUnit\Framework\TestCase;
1312

14-
#[CoversClass(ConfigurationException::class)]
15-
#[UsesClass(DevkitException::class)]
13+
#[CoversNothing]
1614
final class ConfigurationExceptionTest extends TestCase
1715
{
1816
#[Test]

tests/Unit/Exception/DevkitExceptionTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
namespace KaririCode\Devkit\Tests\Unit\Exception;
66

77
use KaririCode\Devkit\Exception\DevkitException;
8-
use PHPUnit\Framework\Attributes\CoversClass;
8+
use PHPUnit\Framework\Attributes\CoversNothing;
99
use PHPUnit\Framework\Attributes\Test;
1010
use PHPUnit\Framework\TestCase;
1111

12-
#[CoversClass(DevkitException::class)]
12+
#[CoversNothing]
1313
final class DevkitExceptionTest extends TestCase
1414
{
1515
#[Test]

tests/Unit/Exception/ToolExceptionTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@
66

77
use KaririCode\Devkit\Exception\DevkitException;
88
use KaririCode\Devkit\Exception\ToolException;
9-
use PHPUnit\Framework\Attributes\CoversClass;
9+
use PHPUnit\Framework\Attributes\CoversNothing;
1010
use PHPUnit\Framework\Attributes\Test;
11-
use PHPUnit\Framework\Attributes\UsesClass;
1211
use PHPUnit\Framework\TestCase;
1312

14-
#[CoversClass(ToolException::class)]
15-
#[UsesClass(DevkitException::class)]
13+
#[CoversNothing]
1614
final class ToolExceptionTest extends TestCase
1715
{
1816
#[Test]

0 commit comments

Comments
 (0)