tutorial - pruebas unitarias php laravel
PHPUnit: espera que el significado del método (2)
espera () - Establece cuántas veces espera que se llame un método:
$mock = $this->getMock(''nameOfTheClass'', array(''firstMethod'',''secondMethod'',''thirdMethod''));
$mock->expects($this->once())
->method(''firstMethod'')
->will($this->returnValue(''value''));
$mock->expects($this->once())
->method(''secondMethod'')
->will($this->returnValue(''value''));
$mock->expects($this->once())
->method(''thirdMethod'')
->will($this->returnValue(''value''));
Si sabes, ese método se llama una vez usa $ this-> once () en espera (); de lo contrario, usa $ this-> any ()
ver:
PHPUnit se simula con múltiples llamadas a expect ()
https://phpunit.de/manual/current/en/test-doubles.html#test-doubles.stubs
http://www.slideshare.net/mjlivelyjr/advanced-phpunit-testing
Cuando creo un nuevo simulacro, necesito llamar al método de espera. ¿Qué es exactamente? ¿Qué hay de sus argumentos?
$todoListMock = $this->getMock(''/Model/Todo_List'');
$todoListMock->expects($this->any())
->method(''getItems'')
->will($this->returnValue(array($itemMock)));
No puedo encontrar el motivo en ningún lado (he intentado con los documentos). He leído las fuentes, pero no puedo entenderlo. Gracias.
Una mirada al código fuente le dirá:
/**
* Registers a new expectation in the mock object and returns the match
* object which can be infused with further details.
*
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher);
Y el Manual de PHPUnit enumera los Matchers disponibles en
- any () devuelve una coincidencia que coincide cuando el método para el que se evalúa se ejecuta cero o más veces.
- never () devuelve una coincidencia que coincide cuando el método para el que se evalúa nunca se ejecuta.
- atLeastOnce () devuelve una coincidencia que coincide cuando el método para el que se evalúa se ejecuta al menos una vez.
- once () devuelve una coincidencia que coincide cuando el método para el que se evalúa se ejecuta exactamente una vez.
- exactamente (int $ count) devuelve un contador de coincidencias que coincide cuando el método para el que se evalúa se ejecuta exactamente $ count veces.
- at (int $ index) devuelve una coincidencia que coincide cuando se invoca el método para el que se evalúa en el índice $ dado.