diff --git a/tests/_files/CoverageClassNothingTest.php b/tests/_files/CoverageClassNothingTest.php new file mode 100644 index 00000000000..b0355ff11f8 --- /dev/null +++ b/tests/_files/CoverageClassNothingTest.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use PHPUnit\Framework\TestCase; + +/** + * @coversNothing + */ +class CoverageClassNothingTest extends TestCase +{ + public function testSomething(): void + { + $o = new CoveredClass; + $o->publicMethod(); + } +} diff --git a/tests/_files/CoverageClassWithoutAnnotationsTest.php b/tests/_files/CoverageClassWithoutAnnotationsTest.php new file mode 100644 index 00000000000..b02028aaf4e --- /dev/null +++ b/tests/_files/CoverageClassWithoutAnnotationsTest.php @@ -0,0 +1,19 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use PHPUnit\Framework\TestCase; + +class CoverageClassWithoutAnnotationsTest extends TestCase +{ + public function testSomething(): void + { + $o = new CoveredClass; + $o->publicMethod(); + } +} diff --git a/tests/_files/CoverageNothingTest.php b/tests/_files/CoverageMethodNothingTest.php similarity index 90% rename from tests/_files/CoverageNothingTest.php rename to tests/_files/CoverageMethodNothingTest.php index e4c831fe35b..11d65f8e3a8 100644 --- a/tests/_files/CoverageNothingTest.php +++ b/tests/_files/CoverageMethodNothingTest.php @@ -9,7 +9,7 @@ */ use PHPUnit\Framework\TestCase; -class CoverageNothingTest extends TestCase +class CoverageMethodNothingTest extends TestCase { /** * @covers CoveredClass::publicMethod diff --git a/tests/unit/Framework/TestResultTest.php b/tests/unit/Framework/TestResultTest.php index e84c5167b01..3334482e21a 100644 --- a/tests/unit/Framework/TestResultTest.php +++ b/tests/unit/Framework/TestResultTest.php @@ -66,8 +66,10 @@ public function testAddErrorOfTypeIncompleteTest(): void public function canSkipCoverageProvider(): array { return [ - ['CoverageClassTest', true], - ['CoverageNothingTest', true], + ['CoverageClassTest', false], + ['CoverageClassNothingTest', true], + ['CoverageMethodNothingTest', false], + ['CoverageClassWithoutAnnotationsTest', false], ['CoverageCoversOverridesCoversNothingTest', false], ]; } @@ -79,8 +81,10 @@ public function testCanSkipCoverage($testCase, $expectedCanSkip): void { require_once TEST_FILES_PATH . $testCase . '.php'; - $test = new $testCase; - $canSkipCoverage = TestResult::isAnyCoverageRequired($test); + $test = new $testCase('testSomething'); + $coverageRequired = TestResult::isAnyCoverageRequired($test); + $canSkipCoverage = !$coverageRequired; + $this->assertEquals($expectedCanSkip, $canSkipCoverage); } } diff --git a/tests/unit/Util/TestTest.php b/tests/unit/Util/TestTest.php index c8ccbfea558..91b5ddbbf0b 100644 --- a/tests/unit/Util/TestTest.php +++ b/tests/unit/Util/TestTest.php @@ -786,7 +786,7 @@ public function testGetLinesToBeCovered($test, $lines): void $expected = [TEST_FILES_PATH . 'CoveredClass.php' => $lines]; } elseif ($test === 'CoverageNoneTest') { $expected = []; - } elseif ($test === 'CoverageNothingTest') { + } elseif ($test === 'CoverageMethodNothingTest') { $expected = false; } elseif ($test === 'CoverageFunctionTest') { $expected = [ @@ -1009,7 +1009,7 @@ public function getLinesToBeCoveredProvider(): array \range(31, 35), ], [ - 'CoverageNothingTest', + 'CoverageMethodNothingTest', false, ], [