Sto usando PHPUnit per i miei test di unità Sto usando un oggetto fittizio per verificare se un metodo viene chiamato con i parametri corretti. Funziona bene quando voglio farlo una volta sola.Come posso testare se lo stesso metodo viene chiamato con parametri corretti con PHPUnit e oggetto fittizio
$logMock = $this->getMockBuilder('Logger')
->disableOriginalConstructor()
->getMock();
//check if it updates the correct record
$logMock->expects($this->exactly(1))
->method('updateLog')
->with(456, 'some status');
ora ho la situazione che voglio verificare se l'updateLog viene chiamato una seconda volta (con parametri diversi). Non vedo come posso farlo con il metodo 'with'.
Qualcuno ha un suggerimento?
Sto utilizzando le funzionalità di simulazione interna di PHPUnit. All'interno della mia implementazione (il metodo in fase di test) l'updateLog viene chiamato due volte, quindi non posso testare gli argomenti del metodo con aspettative diverse. – Fino
Secondo questo sito è possibile ottenere ciò utilizzando la funzionalità dell'indice di chiamata. http://www.kreamer.org/phpunit-cookbook/1.0/mocks/set-mock-expectations-for-multiple-calls-to-a-function – treze
Grazie! Il $ this-> at (index) fa il lavoro. Grazie anche per il link al sito web, alcune informazioni utili. – Fino