📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials PHPUnit Testing PHPUnit PHP8 Attributes

PHPUnit PHP8 Attributes

5 min read
Use PHP 8 Attributes like #[Test] and #[DataProvider] for cleaner, annotation-free test syntax.

PHPUnit PHP 8 Attributes

use PHPUnit\Framework\Attributes\{Test,DataProvider,Group,CoversClass};

#[CoversClass(UserService::class)]
class UserServiceTest extends TestCase {
    #[Test]
    #[Group("auth")]
    public function registrationCreatesUser(): void { }

    #[Test]
    #[DataProvider("emailProvider")]
    public function validatesEmail(string $email, bool $expected): void {
        $this->assertSame($expected, (new Validator)->isEmail($email));
    }

    public static function emailProvider(): array {
        return [["a@b.com", true], ["notanemail", false]];
    }
}