Если вы используете провайдеров данных для PhpUnit, они ожидают, что массив данных возвращается при каждом вызове.Этот внутренний массив должен соответствовать входным переменным для вашего метода тестирования.Таким образом, если у этого единственного аргумента $length
, поставщик данных должен вернуть массив , содержащий тестовые данные, например yield [8];
Если в методе тестирования используется более одного входапеременная - вы, наверное, уже догадались: массив должен содержать больше значений.В качестве примера на основе вашего кода:
class GenerateTokenTest extends TestCase
{
/**
* @dataProvider provideToken
*/
public function testGenerateToken(int $length, int $size): void
{
$token = GenerateToken::generate($length);
$this->assertTrue(true);
}
public function provideToken(): iterable
{
yield [8, 9];
yield [16, 17];
yield [29, 30];
}
}