A veces se necesita probar un test varias veces para asegurar que cumple con lo esperado, para resolver esta necesidad se puede usar un data provider
Para este ejemplo se usa PHP 8.3 y PHPUnit 10.5
Primero escribir el data provider con un bucle for con la cantidad deseada
public static function dataProviderTest(): array
{
$data = [];
for ($i = 0; $i < 100; $i++) {
$data[] = ["step{$i}" => ''];
}
return $data;
}
Luego solo queda usarlo en el test que se quiere ejecutar varias veces
#[DataProvider('dataProviderTest')]
public function test_example(): void
{
// TODO: make test
}
En el ejemplo completo se ejecuta 100 veces el test_example
<?php
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
#[DataProvider('dataProviderTest')]
public function test_example(): void
{
$this->assertTrue(true);
}
public static function dataProviderTest(): array
{
$data = [];
for ($i = 0; $i < 100; $i++) {
$data[] = ["step{$i}" => ''];
}
return $data;
}
}