web-dev-qa-db-fra.com

Devrais-je utiliser Protractor ou Karma pour mes tests de bout en bout?

Devrais-je utiliser Protractor ou Karma pour mes tests de bout en bout?

Angular-seed utilise Protractor/Selenium WebDriver pour E2E mais le didacticiel angular-phonecat utilise le karma.

J'ai lu que je devrais utiliser Karma pour les tests unitaires et Protractor pour E2E, ce qui semble bien, mais je pensais que je demanderais ici pour obtenir l'avis d'autres développeurs.

121
screenm0nkey

L’équipe AngularJS recommande d’utiliser Protractor pour remplacer angular scénario:

Angular Scenario Runner est en mode maintenance - Si vous démarrez un nouveau projet Angular, envisagez d'utiliser Protractor .

cité de documentation AngularJs .

Le tutoriel angular-phonecat a été développé il y a longtemps (principalement en 2011) et n'a pas encore été mis à jour pour utiliser certaines Angular nouvelles fonctionnalités telles que Protractor.

[~ # ~] éditer [~ # ~]

Dans le Protractor Docs - FAQ :

Pourquoi Karma et Protractor? Quand dois-je utiliser lequel?

Karma est un excellent outil pour les tests unitaires, et Protractor est destiné aux tests de bout en bout ou d'intégration. Cela signifie que de petits tests pour la logique de vos contrôleurs, directives et services individuels doivent être exécutés à l'aide de Karma. Les gros tests dans lesquels vous avez une instance en cours d'exécution de toute votre application doivent être exécutés à l'aide de Protractor. Protractor est conçu pour exécuter des tests du point de vue de l'utilisateur. Si votre test peut être consigné sous la forme d'instructions destinées à un utilisateur interagissant avec votre application, il doit s'agir d'un test de bout en bout écrit avec Protractor.

Voici un excellent article de blog avec plus d'informations.

176
glepretre