J'utilise PHPUnit pour mes tests unitaires J'utilise un objet simulé pour tester si une méthode est appelée avec les paramètres corrects. Cela fonctionne bien quand je veux juste faire une fois.Comment puis-je tester si la même méthode est appelée avec les paramètres corrects avec PHPUnit et objet mock
$logMock = $this->getMockBuilder('Logger')
->disableOriginalConstructor()
->getMock();
//check if it updates the correct record
$logMock->expects($this->exactly(1))
->method('updateLog')
->with(456, 'some status');
Maintenant, j'ai la situation que je veux tester si le updateLog est appelé une seconde fois (avec des paramètres différents). Je ne vois pas comment je peux le faire avec la méthode 'avec'.
Est-ce que quelqu'un a une suggestion?
J'utilise les fonctionnalités de simulation interne de PHPUnit. A l'intérieur de mon implémentation (la méthode en cours de test), updateLog est appelé deux fois, donc je ne peux pas tester les arguments de méthode avec des attentes différentes. – Fino
Selon ce site, vous pouvez y parvenir en utilisant la fonctionnalité d'indexation des appels. http://www.kreamer.org/phpunit-cookbook/1.0/mocks/set-mock-expectations-for-multiple-calls-to-a-function – treze
Merci! Le $ this-> at (index) fait le travail. Merci également pour le lien vers le site, quelques informations utiles. – Fino