Herramientas para pruebas unitarias en Magento

23

¿Qué utilizas para las pruebas unitarias en Magento? ¿O qué sabes sobre Unit Testing y Magento? Ya sea que haga TDD o simplemente desee tener cobertura de prueba unitaria para los componentes de su proyecto, necesita algunas herramientas para hacerlo.

El primer enfoque básico es usar phpunit simple, pero hay cosas que necesitan trucos adicionales para hacer que Magento sea "comprobable".

Todo con lo que trabajé está relacionado con phpunit:

¿Hay otras opciones?

FlorinelChis
fuente

Respuestas:

14

Echa un vistazo a PHPSpec con MageSpec si quieres algo no basado en PHPUnit, sino con alguna integración de Magento. Es utilizable, pero no solo está listo para el horario estelar. Para burlarse de PHPSpec 2 usa Prophecy (que es genial), pero no le gustan los captadores y setters de magia. Por esa razón, es mejor usar Mockery , que funciona bien (y también me gusta mucho).

Luego también está Behat con BehatMage para BDD con Magento. Vale la pena echarle un vistazo, pero falla, por ejemplo, si desea probar diferentes vistas de la tienda en diferentes dominios.

También hay una extensión de BehatMage llamada MageBehat (¡horrible nombre!), Que salió de un hackathon. Proporciona muchas acciones específicas de Magento a BehatMage, pero para ser honesto, algunas de las soluciones alternativas son más un truco que soluciones reales a los problemas subyacentes. Aún así, es utilizable.

Espero ver que ambos proyectos, MageSpec y BehatMage, prosperen en el futuro.

Vinaí
fuente
Gracias Vinai por tu respuesta. Sé sobre BehatMage y el trabajo realizado por el equipo de Inviqa / Session Digital (no está claro para mí la estructura de su empresa) ... Estaba buscando solo cosas de phpunit, Behat / BehatMage no es tan atractivo para mí, jugué con MageSpec hace un tiempo.
FlorinelChis
El inglés no es mi lengua materna, los detalles que proporcioné podrían haber sido más claros. Estoy investigando para el grupo de usuarios de London Magento - Meetup de diciembre.
FlorinelChis
3

Deberías ir con EcomDev PHPUnit .

Personalmente, creo que todos los desarrolladores de Magento deben luchar por una solución de prueba de unidad consistente. EcomDev proporciona el marco más utilizado y más maduro de estos marcos para que ya tenga un grupo de desarrolladores decente con experiencia en él. El uso de un marco único también reduce la necesidad de instalar miles de marcos diferentes.

Sin embargo, EcomDev PHPUnit tiene esta extraña convención de poner las pruebas directamente junto al código de producción. Afortunadamente, esto se soluciona fácilmente modificando algunas líneas de código. EcomDev también se toma su tiempo dulce con actualizaciones (aunque su repositorio de Github muestra signos de actividad, por lo que claramente todavía están vivos).

Thai Phan
fuente
Entonces, dicho todo eso, ¿hay algún repositorio en algún lugar que tenga un conjunto de pruebas unitarias definidas (usando ecomdev_unittest) que pruebe la funcionalidad principal? (Sé que MTAF hace esto, pero ¿hay pruebas unitarias predefinidas en alguna parte?)
ProxiBlue
1
@ProxiBlue No, no hay ninguno que yo sepa. Sin embargo, esa es una muy buena idea para un proyecto comunitario.
Thai Phan
2

Para pruebas unitarias, EcomDev PHPUnit es el mejor.

¿Quizás quieres probar las pruebas funcionales en Magento? Ejemplo con casperjs: https://github.com/jacquesbh/hackathon-casperjs/

Jacques Bodin-Hullin
fuente
1
había una pregunta diferente sobre esto.
FlorinelChis