unitarias tutorial que pruebas example php unit-testing tdd mocking phpunit

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.