Этот простой возврат класса
1) Warning The data provider specified for App\Tests\Twig\GenerateTokenTest::testGenerateToken is invalid. Data set #0 is invalid.
class GenerateTokenTest extends TestCase
{
/**
* @dataProvider provideToken
*/
public function testGenerateToken(int $length): void
{
$token = GenerateToken::generate($length);
$this->assertTrue(true);
}
public function provideToken(): iterable
{
yield 8;
yield 16;
yield 29;
}
}
Ты знаешь почему ?
С массивом все в порядке, я не понимаю, но все в порядке, спасибо :)






Если вы используете поставщиков данных для 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];
}
}
Вы пытались вернуть массив вместо одного целого числа?