2025-03-26 PHPUnit v12 DataProvider の大きな変更
PHPUnit 12 で DataProvider の定義方法が大きく変わったようだ。
How to use Data Providers in PHPUnit 12 - Martijn van Nieuwenhoven
PHPUnit v11
<?php
class SomethingTest extends TestCase
{
/**
* @dataProvider dataSomething
*/
public function testSomething(string $variable, string $expected): void
{
$this->assertEquals($expected, $variable);
}
public static function dataSomething(): array
{
return [
[
'value' => 'input',
'expected' => 'output',
]
];
}
}
PHPUnit v12
<?php
use PHPUnit\Framework\Attributes\DataProvider;
class SomethingTest extends TestCase
{
#[DataProvider('dataSomething')]
public function testSomething(string $variable, string $expected): void
{
$this->assertEquals($expected, $variable);
}
public static function dataSomething(): array
{
return [
[
'value' => 'input',
'expected' => 'output',
]
];
}
}
PHP v8 で Attributes が公式機能として追加されたことが大きいようだ。