2011-06-28 135 views
16

Actualmente estoy realizando pruebas unitarias en mi código (usando PHPUnit y Jenkins) pero he leído mucho sobre pruebas de integración.¿Cómo realizar pruebas de integración en PHP?

  • ¿Hay alguna herramienta para realizar esto en php (preferiblemente automatizado)?

  • ¿Cómo podría implementarlo? ¿Hay buenos tutoriales en cualquier lugar?

Respuesta

2

Básicamente el camino a seguir es poner en práctica, además de las pruebas unitarias también pruebas simuladas que no son únicamente probando una sola unidad más como un grupo de unidades agrupados juntos y se les ve como una unidad lógica que debe comportarse de una de cierta manera al entregar algunos métodos de entrada o llamada.

Una posible biblioteca para esto es yaymock en el repositorio de código de google. Es una biblioteca simulada php5.

Otras pruebas de integración son más o menos las únicas pruebas que prueban el comportamiento completo del sistema. Lo básico es configurar un entorno de prueba y luego implementar su aplicación. Puede hacer este tipo de prueba también con un marco de prueba de unidad o una biblioteca simulada. Como desées. Las pruebas de integración en detalle en su caso son solicitudes http, basadas en algunos datos en su base de datos y un posible resultado "html" esperado.

Para automatizar esto, puede usar algunos marcos de integración continuos ... ya sea Hudson, Arbit o phpUnderControl. Para configurar php con hudson y algunos buenos plugins de prueba, hay un muy buen tutorial. También menciona algunos complementos útiles, como controles de cobertura de código, etc., que podrían integrarse dentro del entorno.

+0

¿Hay alguna ventaja al usar yaymock sobre las funciones incorporadas de PHPUnit? – JoshB

+0

Las bibliotecas de Mock están diseñadas especialmente con el propósito de probar cadenas de invocaciones de métodos de objetos. Las pruebas unitarias no lo son. Hay una wikipage en la página del proyecto donde verá algunos ejemplos que demuestran estas pruebas ([UsingMockObjects] (http://code.google.com/p/yaymock/wiki/UsingMockObjects) verá la ventaja sobre las pruebas de unidades normales. Pero para ser claros, las pruebas de simulacro no son un reemplazo para las pruebas unitarias. – fyr

+0

Gracias por eso. Este parece ser el camino a seguir. – JoshB

Cuestiones relacionadas