Używam PHPUnit do moich testów jednostkowych Używam symulowanego obiektu do testowania, czy metoda jest wywoływana z poprawnymi parametrami. Działa to dobrze, gdy chcę zrobić to tylko raz.Jak mogę sprawdzić, czy ta sama metoda jest wywoływana z poprawnymi parametrami z PHPUnit i próbnym obiektem
$logMock = $this->getMockBuilder('Logger')
->disableOriginalConstructor()
->getMock();
//check if it updates the correct record
$logMock->expects($this->exactly(1))
->method('updateLog')
->with(456, 'some status');
Teraz mam sytuację, którą chcę przetestować, jeśli dziennik update jest wywoływany po raz drugi (z innymi parametrami). Nie widzę, jak mogę to zrobić za pomocą metody "z".
Czy ktoś ma sugestię?
Używam wewnętrznych możliwości próbnych PHPUnit. Wewnątrz mojej implementacji (metoda, która jest testowana) dziennik update jest wywoływany dwa razy, więc nie mogę przetestować argumentów metody z różnymi oczekiwaniami. – Fino
Według tej witryny można to osiągnąć za pomocą funkcji indeksu wywołań. http://www.kreamer.org/phpunit-cookbook/1.0/mocks/set-mock-expectations-for-multiple-calls-to-afunction – treze
Dzięki! Wartość $ this-> at (index) wykonuje zadanie. Dziękuję również za link do strony internetowej, kilka użytecznych informacji. – Fino