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/Magento
spazio 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.