Вы можете использовать PhpUnit DataProvider для предоставления параметров для ваших методов тестирования.
https://phpunit.de/manual/6.5/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.data-providers
В приведенном здесь примере метод testMethod будет выполнен 4 раза (по одному для каждого элемента данных $).
<?php
use PHPUnit\Framework\TestCase;
class DataTest extends TestCase
{
/**
* @dataProvider myProvider
*/
public function testMethod($a, $b, $expected)
{
var_dump($a,$b,$expected);
//... your assertions here
}
public function myProvider()
{
$data = [
//each item represents the related method parameter
//the first time $a = 'valueOfA-0', $b='valueOfB-0',$expected='valueOfExpected-0'
//and so on, for each array
['valueOfA-0', 'valueOfB-0', 'valueOfExpected-0'],
['valueOfA-1', 'valueOfB-1', 'valueOfExpected-1'],
['valueOfA-2', 'valueOfB-2', 'valueOfExpected-2'],
['valueOfA-3', 'valueOfB-3', 'valueOfExpected-3'],
];
return $data;
}
}
//values of testMethod parameters each time
//$a = 'valueOfA-0', $b='valueOfB-0', $expected='valueOfExpected-0'
//$a = 'valueOfA-1', $b='valueOfB-1', $expected='valueOfExpected-1'
//$a = 'valueOfA-2', $b='valueOfB-2', $expected='valueOfExpected-2'
//$a = 'valueOfA-3', $b='valueOfB-3', $expected='valueOfExpected-3'