2011-08-21 19 views
7

Hay una descripción de lo que son los simulacros y cómo trabajar con ellos: http://www.phpunit.de/manual/current/en/test-doubles.htmlPHPUnit se burla de una amplia documentación

Pero no hay una explicación completa de todos los métodos posibles, tales como $this->any(), $this->once(), $this->equalTo() etc

Así que estoy buscando API generación Mock

PS: Sí, sé que puedo buscarlo en las fuentes, pero estoy buscando un documento de API en línea

+0

Me temo que no hay ninguno.Lo busqué yo mismo y terminé mirando a través de la fuente y la prueba y error (y también la frustración) – Mchl

+0

@Mchl: lástima de nosotros, hay uno ;-) Una persona me señaló que publicará una respuesta en un momento. – zerkms

Respuesta

5

No hay una descripción de la API en un solo lugar, sino una parte de la API descrita debajo del enlace que proporcionó. Otra parte está disponible en "Writing Tests for PHPUnit"

+1

Y en la fuente, esta lista se puede encontrar en [PHPUnit/Framework/Restricción] (https://github.com/sebastianbergmann/phpunit/tree/master/PHPUnit/Framework/Constraint) –

2

El libro de Sebastian Bergmann "Soluciones del mundo real para el desarrollo de marcos y aplicaciones PHP de alta calidad" entra en más detalles, pero principalmente a través de ejemplos. Lo bueno de los métodos bien nombrados es que no necesitan una documentación completa. Solo necesitas entender los conceptos de todo esto primero. Sugerencia, equalTo() se usa a menudo dentro de afirmaciones personalizadas, por ejemplo, $ this-> assertThat ($ foo, $ this-> logicalNot ($ this-> equalTo ($ bar))); o más comúnmente dentro de las expectativas como -> con ($ this-> equalTo ('algo')).

Los conceptos principales están bien documentados, rara vez tuve que profundizar en el código fuente. Por ejemplo, con() "Especifica las aserciones que se deben realizar en el parámetro pasado. En los casos más simples, llámelo con el valor que usaría para llamar al método, en el mismo orden. Los parámetros incluyen: $ this-> anything (), $ this-> greaterThan ($ n), $ this-> stringContains ($ str), isTrue(), isFalse(), isNull(), equalTo(), etc. " Mientras que, una vez() se llama desde espera() y espera() "registra una nueva expectativa, como cuántas veces se espera que se invoque el método, especificado en método(). Los parámetros pueden ser: $ this-> exactly ($ count), once(), atLeastOnce(), never(), any(), o at ($ index). "

+0

Sí, entiendo los conceptos, Solo necesitaba la lista de todas esas afirmaciones. Gracias – zerkms

2

Con esta parte de phpunit, saidly (documentation patches can be provided on github), la fuente es la documentación.

A list of PHPUnit assertions

The list of all functions you use in mock objects

Esas funciones toda la vuelta algún tipo de PHPUnit_Framework_Constraint que también se puede utilizar directamente (aunque el uso a través de la API es la forma preferida). Esas son en su mayoría las mismas restricciones que se describen en "Writing Tests for PHPUnit". Los nombres son los mismos para la mayoría de las restricciones como -> fileExists pero algunas difieren (_o vs -> logicalOr()) pero puede buscarlas rápidamente en la fuente.

2

Me preguntaba por qué el sitio web de phpunit no está publicando la documentación completa de la API. En cambio, solo dan ejemplos. Por lo tanto, descargué la fuente de phpunit y ejecuté phpdoc. Publiqué la documentación API generada en http://richardbrinkman.hol.es/phpunit/4.5.0/ para que otros no tengan que pasar por la misma molestia.

+1

El enlace arroja un 404, ¿puedes actualizarlo? – duncan

Cuestiones relacionadas