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]];
}
}