Escribo muchas pruebas de integración para Magento 2. Esto ayuda a mi desarrollo local y encajan perfectamente en una forma de trabajo de CI.
Sin embargo, hay algunas rarezas sobre el conjunto de pruebas de integración de Magento. Por ejemplo:
- Activa todos los módulos de manera predeterminada, y no hay forma de desactivar esto. Esto puede tener algunos efectos secundarios no deseados, porque en un proyecto de cliente probablemente deshabilite módulos que no necesita, por ejemplo, el módulo Vertex. Sin embargo, este módulo agrega un campo obligatorio a su modelo de cliente, por lo que no hace falta decir que si crea un cliente en su prueba de integración, esta prueba fallará .
- Agrega módulos de prueba de Magento a su base de código . Por lo tanto, cada vez que ejecuta su conjunto de pruebas de integración, termina teniendo 3 módulos adicionales en su
app/code/Magento
espacio de nombres.
Estos problemas dificultan el uso de una prueba de integración en un proyecto local. Alguien me dijo una vez que las pruebas de integración solo se crean para que los desarrolladores de extensiones prueben si su módulo pasa los criterios para llegar al mercado. ¿Es esto cierto? Porque si es así: ¿cuál es entonces una forma adecuada de escribir pruebas de integración para la tienda web de sus clientes? Me gustan las anotaciones de Magento y esas cosas. Realmente frustrante esto.