Witam, Czy moze ktos mi podaj jakis sensowny przyklad z uzycien dataProvider
? Mam jakas tam klase do przetestowania, ktora zaleznie od tego co dostanie raz wyrzucic tablice z 1 a raz z 3 albo i wiecej elementami. Jak testujecie cos takiego?
Przyklad
public function additionProvider(): array
{
return [
[[[1212312, 'type', 300.00, 10, 3]], [['itemId' => 87654, 'amount' => 10], ['itemId' => 87655, 'amount' => 20], ['itemId' => 87656, 'amount' => 30]]],
[[[1212313, 'type', 300.00, 9.99, 1]], [['itemId' => 92342, 'amount' => 9.99]]],
];
}
/**
* @dataProvider additionProvider
*/
public function testMyClass($data, array $expected): void
{
$myClass = new myClass();
$myClass->doWork($data);
$this->assertSame($myClass->getAdminFees()[0]->itemId, $expected[0]['itemId']);
$this->assertSame($myClass->getAdminFees()[0]->amount, $expected[0]['amount']);
$this->assertSame($myClass->getAdminFees()[1]->itemId, $expected[1]['itemId']);
$this->assertSame($myClass->getAdminFees()[1]->amount, $expected[1]['amount']);
$this->assertSame($myClass->getAdminFees()[2]->itemId, $expected[2]['itemId']);
$this->assertSame($myClass->getAdminFees()[2]->amount, $expected[2]['amount']);
}