web-dev-qa-db-fra.com

Utiliser Travis CI pour exécuter des tests unitaires et exécuter phpunit localement

Existe-t-il une différence entre Travis CI qui exécute mes tests PHPUnit et moi utilisant WP-CLI pour générer des fichiers de test unitaire et phpunit en local? Je me demande si le double emploi est nécessaire ou inutile.

3
henrywright

Travis est un service d'intégration continue hébergé . Travis prend les fichiers que vous avez validés dans votre dépôt Github et lance PHPUnit contre eux.

Le fait d'exécuter phpunit dans votre environnement local présente une différence notable: l'exécution de tests sur Travis nécessite au moins trois étapes:

  1. Engagez-vous à Git.
  2. Poussez à Github.
  3. Attendez que Travis crée et exécute une construction.

À long terme, il sera beaucoup plus rapide de commencer par exécuter vos tests localement avant de valider, afin de réduire le temps d'attente avant de voir si vos tests échouent.

4
Daniel Bachhuber

Travis CI est idéal pour vous alerter de problèmes tels que des erreurs ou des tests ayant échoué. Cependant, ce n'est pas très utile pour le débogage. Si votre projet est petit et que le code est simple, vous n'avez probablement pas besoin d'exécuter les tests localement. Mais pour la plupart des projets avec une bonne quantité de code, la recherche de la cause première des échecs de test nécessite souvent beaucoup de débogage. Pouvoir exécuter les tests et résoudre le problème sur votre ordinateur local (en utilisant éventuellement xdebug ou autre) est extrêmement utile.

En outre, comme l'a souligné Daniel Bachhuber, , l'installation locale des tests vous permet de les exécuter sans avoir à envoyer votre code à Travis et à attendre l'exécution de la construction. L'exécution de tests locaux est beaucoup plus rapide et vous permet de tester votre code au fur et à mesure, sans avoir à le valider avant de savoir s'il fonctionne.

Pour ces raisons, je pense que vous constaterez que vous voudrez installer les tests localement.

2
J.D.