Skip to content

Commit 7cba332

Browse files
committed
fix(tests): replace UsesClass with CoversClass for DiscoveryException
PHPUnit 12 with beStrictAboutCoverageMetadata emits a warning when #[UsesClass] targets a class that cannot be instrumented. DiscoveryException extends \RuntimeException (a PHP built-in), which PCOV cannot fully instrument via UsesClass semantics. - DiscoveryExceptionTest: UsesClass → CoversClass (the test directly exercises DiscoveryException, so CoversClass is correct). - DirectoryScannerTest: UsesClass(DiscoveryException) → CoversClass (testScanNonExistentPathThrowsException exercises the exception path). Eliminates all 26 PHPUnit Warnings that were failing the CI pipeline.
1 parent 806b421 commit 7cba332

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

tests/Unit/Exception/DiscoveryExceptionTest.php

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

77
use KaririCode\ClassDiscovery\Exception\DiscoveryException;
8-
use PHPUnit\Framework\Attributes\UsesClass;
8+
use PHPUnit\Framework\Attributes\CoversClass;
99
use PHPUnit\Framework\TestCase;
1010

11-
#[UsesClass(DiscoveryException::class)]
11+
#[CoversClass(DiscoveryException::class)]
1212
final class DiscoveryExceptionTest extends TestCase
1313
{
1414
#[\PHPUnit\Framework\Attributes\DataProvider('namedConstructorProvider')]

tests/Unit/Scanner/DirectoryScannerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
use PHPUnit\Framework\TestCase;
2020

2121
#[CoversClass(DirectoryScanner::class)]
22+
#[CoversClass(DiscoveryException::class)]
2223
#[UsesClass(FileScanner::class)]
2324
#[UsesClass(ConcreteDiscoveryResult::class)]
2425
#[UsesClass(ClassMetadata::class)]
25-
#[UsesClass(DiscoveryException::class)]
2626

2727
final class DirectoryScannerTest extends TestCase
2828
{

0 commit comments

Comments
 (0)