unitarias tutorial que pruebas example español ejecutar php phpunit

tutorial - ¿Alguna forma de preservar las variables de instancia entre las pruebas phpunit?



pruebas unitarias laravel (3)

Estoy escribiendo pruebas funcionales para un sistema SOA, así que necesito probar un subsistema backend desde el frontend.

Es un sistema estándar de CRUD. Tengo una prueba que prueba que puedo crear un objeto y me devuelve el ID del nuevo objeto. En las pruebas posteriores quiero editar y luego eliminar este objeto, pero phpunit parece estar volviendo a crear instancias de la clase de prueba cada vez, por lo que pierdo mis variables de instancia.

¿Cómo puedo conseguir esto? La ejecución de pruebas funcionales en cada servidor en la arquitectura no es una opción.


Como desea ejecutar cada testcase una vez, puede almacenar las variables de instancia en el nivel de clase, por ejemplo, en variables estáticas, o en un almacén de singleton / global externo utiliza get_class($testCase) para las claves ...


Supongo que solo ejecutaré la prueba ''crear'' antes de ejecutar ''editar'' o ''eliminar'', y estableceré la variable de instancia en consecuencia.


Una forma de pasar cosas entre las pruebas es usar la anotación @depends

public function testCreate() { //... return $id; } /** * @depends testCreate */ public function testDelete($id) { // use $id }

si lo haces así, la prueba de "eliminar" se omitirá si la creación no funciona.

Por lo tanto, solo obtendrá un error si el servicio no funciona en absoluto en lugar de muchas pruebas fallidas.

Si no quiere hacer eso o no coincide con su caso por cualquier motivo, las variables de clase estáticas también pueden ser una opción, pero debe estar realmente seguro de que sabe que las necesita absolutamente :)