Je suis en utilisant Yeoman et générateur-angulaire pour gérer les applications AngularJS, mais je vais avoir des ennuis avec des tests automatisés.
L'exécution grunt test
va exécuter des tests unitaires fois. Je peux obtenir E2E les tests à exécuter, après que les tests unitaires en modifiant le karma config bloc en Gruntfile.js
, en ajoutant e2e:
karma: {
//...
e2e: {
configFile: 'karma-e2e.conf.js',
singleRun: true
}
},
Grand: maintenant quand je tape grunt test
tous les tests sont exécutés. Mais ils ne s'exécute qu'une fois, et il y a une grosse surcharge (à partir de la boussole, l'exécution du serveur, le lancement de google Chrome, etc.). Au lieu de cela, le serveur et le Chrome processus doit rester en cours d'exécution et, lorsque j'enregistre un test, les tests doivent être ré-exécuter.
Je peux réaliser ceci en modifiant à la fois karma.conf.js
et karma-e2e.conf.js
et réglage de l' singleRun = true
, puis en exécutant karma start
dans un terminal volet, et karma start karma-e2e.conf.js
dans un autre. Fourni aucun des ports dans le karma configs conflit (qui ils le font par défaut), cela fonctionne. Maintenant, je suis en contournant Grunt et juste faire mon propre truc (ce qui semble un peu ridicule, comme Grunt est censé rendre les choses plus facile).
De toute façon, après un peu plus de modifications (corrections?) - pas détaillé pour des raisons de concision - cela fonctionne, mais ne coupe pas: j'ai maintenant pour exécuter les deux commandes distinctes et garder un œil sur les deux terminaux différents volets. Il y a certainement une meilleure façon.
Comment puis-je exécuter une seule commande pour regarder mon test de fichiers et ré-exécuter les tests de manière appropriée?
Question Bonus: pourquoi sur la Terre, cette fonctionnalité est pas prévu que c'est? Est-ce juste une question de le développeur(s) du générateur-angulaire de ne pas avoir assez de temps pour mettre en œuvre ce genre de choses? Je demande parce que je viens juste d'arriver dans Angulaire/Yeoman/Karma (comme vous l'avez probablement remarqué), et le sentiment que les tests automatisés de deux E2E et les tests unitaires sont cruciales pour les flux de travail.