Quiero llamar a mi método simulado dos veces con diferentes argumentos esperados. Esto no funciona porque expects($this->once())
fallará en la segunda llamada.En PHPUnit, ¿cómo indico diferente con() en llamadas sucesivas a un método burlado?
$mock->expects($this->once())
->method('foo')
->with('someValue');
$mock->expects($this->once())
->method('foo')
->with('anotherValue');
$mock->foo('someValue');
$mock->foo('anotherValue');
También he intentado:
$mock->expects($this->exactly(2))
->method('foo')
->with('someValue');
Pero ¿Cómo se añaden a con() para que coincida con la segunda llamada?
¿Por qué necesita hacer coincidir los argumentos? ¿No podría usar onConsecutive Calls() para decir "la primera vez, lo devuelve, la segunda vez lo devuelve"? Utilizaría exactamente (2) y onConsecutiveCalls() – fiunchinho
la misma [pregunta] (http://stackoverflow.com/questions/5484602/mock-in-phpunit-multiple-configuration-of-the-same-method-with -different-argume) del bloque relacionado. – meze
Posible duplicado de [método falso de phpunit llamadas múltiples con diferentes argumentos] (https://stackoverflow.com/questions/5988616/phpunit-mock-method-multiple-calls-with-different-arguments) –