à l'aide de moka-phantomjs pour automatiser les tests fonctionnels
Mon projet est à l'aide de: Nœud, Coffeescript, SocketIO, Browserify et de Moka. (moka standard côté serveur, tests unitaires)
Je voudrais automatiser certains côté client interface de test à l'aide d'un navigateur sans. PhantomJS regardé comme le choix idéal (ramassés au cours de Zombie en raison de web prise en charge).
La PhantomJS pages avertir qu'il n'est pas un test runner, que je comprends, et ils vous recommandons d'utiliser le moka-phantomjs projet pour mener à bien vos tests.
J'ai donc été en mesure d'obtenir l'échantillon de tests en cours d'exécution (par exemple,mocha-phantomjs tests/mixed.html
), mais mon problème actuel est en fait l'utilisation de FANTÔME dans les tests. Tous les exemples de tests dans le moka-phantomjs repo semblent utiliser la norme moka côté serveur de test unitaire.
par exemple, je peux facilement exécuter des mocha-phantomjs tests/mixed.html
pour afficher ennuyeux tests unitaires. Ou je peux courir phantomjs tests/login.coffee
pour charger mon écran de connexion... mais comment puis-je combiner les deux pour faire des assertions sur ce que je devrais attendre de voir sur mon écran de connexion?
Je ne peux pas trouver des exemples de ce sur le web, et j'ai du mal avec la compréhension de la meilleure façon d'aller à ce sujet.
Espère que tout cela fait sens. Merci d'avance pour toute aide.
Mise à JOUR: j'ai trouvé la suggestion suivante par l'auteur (ici), mais je ne sais vraiment pas quoi faire avec elle: phantomjs lib/mocha-phantomjs.coffee test/mixed.html
- Check this out gist.github.com/nmabhinandan/6c63463d9f0987020c6f
Vous devez vous connecter pour publier un commentaire.
Il y a un assez bon tutoriel pour les essais avec Moka et Phantom.JS ici.
La section de Moka et de PhantomJS est court, mais l'idée de base est de mettre les DOM les affirmations et les interactions dans votre Moka suite de test, l'exécuter à la côté client par l'intermédiaire d'un testrunner.html fichier, puis pointez moka-phantomjs à l'testrunner.html fichier.
Pour paraphraser, votre Moka test pourrait ressembler à ceci:
Et la testrunner.html le fichier de l'installation normale:
Si vous préférez une solution entièrement à partir de la node.js de l'écosystème, il est utile de considérer Zombie.JS. Ce Débordement de Pile question fournit un exemple de base.
La contrepartie est que tout Zombie.JS peut être utilisé simplement en exigeant le nœud du module, et est extrêmement rapide, il n'est pas un "vrai" navigateur web. PhantomJS est la plus proche, comme il est basé sur webkit. Aussi, la première approche avec la moka-phantomjs vous permettent d'exécuter côté client Moka tests sur différents navigateurs de votre choix, PhantomJS n'étant que l'un d'entre eux.