Magento 2: Qual è l'uso previsto della funzionalità di test di integrazione?


8

Scrivo molti test di integrazione per Magento 2. Questo aiuta il mio sviluppo locale e si adattano perfettamente a un modo di lavorare CI.

Tuttavia, ci sono alcune stranezze sulla suite di test di integrazione di Magento. Per esempio:

  • Abilita tutti i moduli per impostazione predefinita e non è possibile disabilitarlo. Questo può avere alcuni effetti collaterali indesiderati, perché su un progetto client è molto probabile che disabiliti i moduli che non ti servono, ad esempio il modulo Vertex. Tuttavia, questo modulo aggiunge un campo obbligatorio al modello del cliente, quindi inutile dirlo, se si crea un cliente nel test di integrazione, questo test fallirà .
  • Aggiunge moduli di test Magento al tuo codebase . Quindi ogni volta che esegui la tua suite di test di integrazione, finisci per avere 3 moduli extra nel tuo app/code/Magentospazio dei nomi.

Questi problemi rendono difficile l'utilizzo di un test di integrazione in un progetto locale. Qualcuno una volta mi ha detto che i test di integrazione sono stati creati solo per gli sviluppatori di estensioni per testare se il modulo passa i criteri per arrivare sul mercato. È vero? Perché se è così: qual è il modo corretto di scrivere test di integrazione per il webshop dei tuoi clienti? Mi piacciono le annotazioni e cose Magento. Davvero frustrante.

Risposte:


0

Ti sento, ho / ho avuto gli stessi problemi. C'è una soluzione per il tuo primo problema: rimuovere i moduli indesiderati invece di disabilitarli. Aggiungi quanto segue al tuo composer.json:

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

se si desidera rimuovere il modulo di notifica dell'amministratore, ad esempio. È completamente spiegato nel mio post sul blog all'indirizzo https://www.integer-net.com/removing-unused-core-modules-from-magento-2-the-right-way .

Per quanto riguarda il tuo secondo punto: è un bug, archiviato su https://github.com/magento/magento2/issues/12696 . Lo trovo anche molto fastidioso. Per quanto ne so, non esiste ancora una buona soluzione, tranne commentare la segnalazione di bug e portarla così alla presenza degli sviluppatori principali.

Qualcuno una volta mi ha detto che i test di integrazione sono stati creati solo per gli sviluppatori di estensioni per testare se il modulo passa i criteri per arrivare sul mercato. È vero?

No. È anche molto utile sulla base di un progetto. Devi solo occuparti dei problemi che hai citato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.