Estoy usando PHPUnit para mis pruebas de unidad Estoy utilizando un objeto de prueba para probar si se llama a un método con los parámetros correctos. Esto funciona bien cuando solo quiero hacer esto una vez.¿Cómo puedo probar si se llama al mismo método con los parámetros correctos con PHPUnit y el objeto falso
$logMock = $this->getMockBuilder('Logger')
->disableOriginalConstructor()
->getMock();
//check if it updates the correct record
$logMock->expects($this->exactly(1))
->method('updateLog')
->with(456, 'some status');
ahora tengo la situación que quiero poner a prueba si el updateLog se llama una segunda vez (con diferentes parámetros). No veo cómo puedo hacer esto con el método 'con'.
¿Alguien tiene alguna sugerencia?
Estoy usando las capacidades de simulación interna de PHPUnit. Dentro de mi aplicación (el método que está siendo prueba) la updateLog se llama dos veces, así que no puede poner a prueba los argumentos del método con diferentes expectativas. – Fino
Según este sitio se puede lograr esto mediante el uso de la funcionalidad de llamada-índice. http://www.kreamer.org/phpunit-cookbook/1.0/mocks/set-mock-expectations-for-multiple-calls-to-a-function – treze
Gracias! El $ this-> at (index) hace el trabajo. También gracias por el enlace al sitio web, alguna información útil. – Fino