Outils pour les tests unitaires dans Magento


23

Qu'utilisez-vous pour les tests unitaires dans Magento? Ou que savez-vous des tests unitaires et de Magento? Que vous fassiez TDD ou que vous souhaitiez simplement avoir une couverture de test unitaire pour les composants de votre projet, vous avez besoin d'outils pour le faire.

La première approche de base consiste à utiliser du phpunit ordinaire, mais il y a des choses qui nécessitent des gadgets supplémentaires pour rendre Magento "testable".

Tout ce avec quoi j'ai travaillé est lié à phpunit:

Y a-t-il d'autres options?

Réponses:


14

Consultez PHPSpec avec MageSpec si vous voulez quelque chose qui ne soit pas basé sur PHPUnit, mais avec une intégration Magento. Son utilisable, mais pas tout à fait prêt pour les heures de grande écoute. Pour se moquer, PHPSpec 2 utilise Prophecy (ce qui est génial), mais n'aime pas du tout les getters et setters magiques. Pour cette raison, il vaut mieux utiliser Mockery à la place, ce qui fonctionne bien (et j'aime aussi beaucoup).

Ensuite, il y a aussi Behat avec BehatMage pour BDD avec Magento. Vaut le détour, mais il échoue par exemple si vous souhaitez tester différentes vues de magasin sur différents domaines.

Il existe également une extension de BehatMage appelée MageBehat (dénomination horrible!), Qui est issue d'un hackathon. Il fournit de nombreuses actions spécifiques à Magento à BehatMage, mais pour être honnête, certaines des solutions de contournement utilisées sont plus un hack que de vraies solutions aux problèmes sous-jacents. Pourtant, c'est utilisable.

J'espère voir les deux projets - MageSpec et BehatMage - prospérer à l'avenir.


Merci Vinai pour ta réponse. Je connais BehatMage et le travail effectué par l'équipe d'Inviqa / Session Digital (je ne connais pas la structure de leur entreprise) ... Je ne cherchais que des trucs phpunit, Behat / BehatMage ce n'est pas si attrayant pour moi, j'ai joué avec MageSpec il y a quelque temps.
FlorinelChis

L'anglais n'est pas ma langue maternelle, les détails que j'ai fournis auraient pu être plus clairs. Je fais des recherches pour le groupe d'utilisateurs de Londres Magento - décembre.
FlorinelChis


3

Vous devriez aller avec EcomDev PHPUnit .

Je crois personnellement que tous les développeurs de Magento devraient s'efforcer de trouver une solution de test unitaire cohérente. EcomDev fournit le plus communément utilisé et le plus mature de ces frameworks, vous avez donc déjà un bassin décent de développeurs expérimentés. L'utilisation d'un cadre unique réduit également la nécessité d'installer un bajillion de cadres différents.

Cependant, EcomDev PHPUnit a cette étrange convention de mettre les tests directement à côté du code de production. Heureusement, cela est facilement résolu en modifiant quelques lignes de code. EcomDev prend également son temps avec les mises à jour (bien que leur dépôt Github montre des signes d'activité, ils sont donc clairement toujours en vie).


Donc, en disant tout cela, y a-t-il un dépôt quelque part qui a un ensemble de tests unitaires définis (en utilisant ecomdev_unittest) qui teste les fonctionnalités de base? (Je sais que MTAF fait cela, mais y a-t-il des tests unitaires prédéfinis quelque part?)
ProxiBlue

1
@ProxiBlue Non, je n'en connais pas. C'est une assez bonne idée pour un projet communautaire, cependant.
Thai Phan

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.