Magento 2: ¿Cuál es el uso previsto de la funcionalidad de prueba de integración?

8

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/Magentoespacio 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.

Giel Berkers
fuente

Respuestas:

0

Te siento, tengo / tuve los mismos problemas. Hay una solución para su primer problema: elimine los módulos no deseados en lugar de deshabilitarlos. Agregue lo siguiente a su composer.json:

"replace": {
  "magento/module-admin-notification": "*"
},

si desea eliminar el módulo de notificación de administrador, por ejemplo. Está completamente explicado en la publicación de mi blog en https://www.integer-net.com/removing-unused-core-modules-from-magento-2-the-right-way .

Con respecto a su segundo punto: es un error, presentado en https://github.com/magento/magento2/issues/12696 . También me resulta realmente molesto. Hasta donde yo sé, no hay una buena solución para eso, excepto comentar sobre el informe de error y llevarlo a la atención de los desarrolladores principales.

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?

No. También es realmente útil en una base de proyecto. Solo tiene que ocuparse de los problemas que mencionó.

Andreas von Studnitz
fuente