From dcb7825de8d470d141c62478c5ecbbb7c46a2747 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Wed, 17 Jul 2024 16:17:20 +0200 Subject: [PATCH] Add tests for --covers and --uses CLI options --- .../end-to-end/_files/covers-uses/phpunit.xml | 10 +++++ .../end-to-end/_files/covers-uses/src/Foo.php | 18 ++++++++ .../_files/covers-uses/tests/CoversTest.php | 22 ++++++++++ .../_files/covers-uses/tests/UsesTest.php | 22 ++++++++++ tests/end-to-end/cli/group/covers.phpt | 43 +++++++++++++++++++ tests/end-to-end/cli/group/uses.phpt | 43 +++++++++++++++++++ 6 files changed, 158 insertions(+) create mode 100644 tests/end-to-end/_files/covers-uses/phpunit.xml create mode 100644 tests/end-to-end/_files/covers-uses/src/Foo.php create mode 100644 tests/end-to-end/_files/covers-uses/tests/CoversTest.php create mode 100644 tests/end-to-end/_files/covers-uses/tests/UsesTest.php create mode 100644 tests/end-to-end/cli/group/covers.phpt create mode 100644 tests/end-to-end/cli/group/uses.phpt diff --git a/tests/end-to-end/_files/covers-uses/phpunit.xml b/tests/end-to-end/_files/covers-uses/phpunit.xml new file mode 100644 index 00000000000..7f0012487d6 --- /dev/null +++ b/tests/end-to-end/_files/covers-uses/phpunit.xml @@ -0,0 +1,10 @@ + + + + + tests + + + diff --git a/tests/end-to-end/_files/covers-uses/src/Foo.php b/tests/end-to-end/_files/covers-uses/src/Foo.php new file mode 100644 index 00000000000..926aab69315 --- /dev/null +++ b/tests/end-to-end/_files/covers-uses/src/Foo.php @@ -0,0 +1,18 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\TestFixture\CoversUsesFiltering; + +final class Foo +{ + public function bar(): bool + { + return true; + } +} diff --git a/tests/end-to-end/_files/covers-uses/tests/CoversTest.php b/tests/end-to-end/_files/covers-uses/tests/CoversTest.php new file mode 100644 index 00000000000..1c2ab757028 --- /dev/null +++ b/tests/end-to-end/_files/covers-uses/tests/CoversTest.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\TestFixture\CoversUsesFiltering; + +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\TestCase; + +#[CoversClass(Foo::class)] +final class CoversTest extends TestCase +{ + public function testOne(): void + { + $this->assertTrue(true); + } +} diff --git a/tests/end-to-end/_files/covers-uses/tests/UsesTest.php b/tests/end-to-end/_files/covers-uses/tests/UsesTest.php new file mode 100644 index 00000000000..0a08e497e88 --- /dev/null +++ b/tests/end-to-end/_files/covers-uses/tests/UsesTest.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\TestFixture\CoversUsesFiltering; + +use PHPUnit\Framework\Attributes\UsesClass; +use PHPUnit\Framework\TestCase; + +#[UsesClass(Foo::class)] +final class UsesTest extends TestCase +{ + public function testOne(): void + { + $this->assertTrue(true); + } +} diff --git a/tests/end-to-end/cli/group/covers.phpt b/tests/end-to-end/cli/group/covers.phpt new file mode 100644 index 00000000000..94f3daa1b91 --- /dev/null +++ b/tests/end-to-end/cli/group/covers.phpt @@ -0,0 +1,43 @@ +--TEST-- +phpunit --covers PHPUnit\TestFixture\CoversUsesFiltering\Foo +--FILE-- +run($_SERVER['argv']); + +print file_get_contents($traceFile); + +unlink($traceFile); +--EXPECTF-- +PHPUnit Started (PHPUnit %s using %s) +Test Runner Configured +Test Suite Loaded (2 tests) +Event Facade Sealed +Test Runner Started +Test Suite Sorted +Test Suite Filtered (1 test) +Test Runner Execution Started (1 test) +Test Suite Started (CLI Arguments, 1 test) +Test Suite Started (PHPUnit\TestFixture\CoversUsesFiltering\CoversTest, 1 test) +Test Preparation Started (PHPUnit\TestFixture\CoversUsesFiltering\CoversTest::testOne) +Test Prepared (PHPUnit\TestFixture\CoversUsesFiltering\CoversTest::testOne) +Assertion Succeeded (Constraint: is true, Value: true) +Test Passed (PHPUnit\TestFixture\CoversUsesFiltering\CoversTest::testOne) +Test Finished (PHPUnit\TestFixture\CoversUsesFiltering\CoversTest::testOne) +Test Suite Finished (PHPUnit\TestFixture\CoversUsesFiltering\CoversTest, 1 test) +Test Suite Finished (CLI Arguments, 1 test) +Test Runner Execution Finished +Test Runner Finished +PHPUnit Finished (Shell Exit Code: 0) diff --git a/tests/end-to-end/cli/group/uses.phpt b/tests/end-to-end/cli/group/uses.phpt new file mode 100644 index 00000000000..8d7d1706749 --- /dev/null +++ b/tests/end-to-end/cli/group/uses.phpt @@ -0,0 +1,43 @@ +--TEST-- +phpunit --uses PHPUnit\TestFixture\CoversUsesFiltering\Foo +--FILE-- +run($_SERVER['argv']); + +print file_get_contents($traceFile); + +unlink($traceFile); +--EXPECTF-- +PHPUnit Started (PHPUnit %s using %s) +Test Runner Configured +Test Suite Loaded (2 tests) +Event Facade Sealed +Test Runner Started +Test Suite Sorted +Test Suite Filtered (1 test) +Test Runner Execution Started (1 test) +Test Suite Started (CLI Arguments, 1 test) +Test Suite Started (PHPUnit\TestFixture\CoversUsesFiltering\UsesTest, 1 test) +Test Preparation Started (PHPUnit\TestFixture\CoversUsesFiltering\UsesTest::testOne) +Test Prepared (PHPUnit\TestFixture\CoversUsesFiltering\UsesTest::testOne) +Assertion Succeeded (Constraint: is true, Value: true) +Test Passed (PHPUnit\TestFixture\CoversUsesFiltering\UsesTest::testOne) +Test Finished (PHPUnit\TestFixture\CoversUsesFiltering\UsesTest::testOne) +Test Suite Finished (PHPUnit\TestFixture\CoversUsesFiltering\UsesTest, 1 test) +Test Suite Finished (CLI Arguments, 1 test) +Test Runner Execution Finished +Test Runner Finished +PHPUnit Finished (Shell Exit Code: 0)