J'écris beaucoup de tests d'intégration pour Magento 2. Cela aide mon développement local et ils s'intègrent bien dans une manière de travailler CI.
Cependant, la suite de tests d'intégration de Magento présente quelques bizarreries. Par exemple:
- Il active tous les modules par défaut, et il n'y a aucun moyen de le désactiver. Cela peut avoir des effets secondaires indésirables, car sur un projet client, vous désactivez probablement les modules dont vous n'avez pas besoin, par exemple le module Vertex. Cependant, ce module ajoute un champ obligatoire à votre modèle client, donc inutile de dire que si vous créez un client dans votre test d'intégration, ce test échouera .
- Il ajoute des modules de test Magento à votre base de code . Ainsi, chaque fois que vous exécutez votre suite de tests d'intégration, vous vous retrouvez avec 3 modules supplémentaires dans votre
app/code/Magento
espace de noms.
Ces problèmes rendent difficile l'utilisation d'un test d'intégration dans un projet local. Quelqu'un m'a dit un jour que les tests d'intégration ne sont créés que pour que les développeurs d'extensions testent si votre module répond aux critères pour arriver sur le marché. Est-ce vrai? Parce que si c'est le cas, quelle est la meilleure façon d'écrire des tests d'intégration pour la boutique en ligne de vos clients? J'aime les annotations et les trucs de Magento. Vraiment frustrant.
la source