Bonjour.
Je voudrais développer une appli web (avec du Javascript à l'intérieur qui irait modifier l'aspect ou le contenu d'une page web … enfin si on peut appeler ça comme ça) mais je ne sais pas trop comment mettre en place des tests unitaires.
Pour les javascripts devant retourner des valeurs, j'ai vu qu'il y avait pas mal de choses dont Qunit. ( cette page recense un certain nombre d'outils dont je pense avoir compris le principe). Par contre, comment faites-vous lorsqu'il y a un rendu HTML à tester ?
J'ai vu qu'il y avaitdes outils permettant de le faire en simulant un navigateur, mais ça m'a l'air d'être des usines à gaz (et aparamment il y en a beaucoup en Java), et plus orienté "test fonctionnel"
Sachant que je suis plus à l'aise avec Ruby ou Perl, auriez-vous des suggestions à me faire sur ce sujet, ou des liens ( ou même des références de bouquins ) qui pourraient m'aider ?
Parmi les questions que je me pose, comment définir les cas de tests pour un rendu ? Comment le tester ?
Je ne sais pas trop par quel bout prendre la chose.
Merci d'avance pour votre retour.
Edit : si vous utilisez des outils en Java, je suis preneur de l'info, mais je préfèrerais des outils à base d'autres langages.
# Personnellement, j'utilise CasperJS ou Ghost.py
Posté par Stéphane Klein (site web personnel) . Évalué à 2.
J'utilise :
tous les deux sont basés sur webkit. Ils ont l'avantage d'être très rapide contrairement aux solutions type Selenium.
Inconvénient, ils permettent de tester uniquement le moteur Webkit. Mais dans mon cas ce n'est pas très grave, mon but est de faire des tests d'intégration, des tests JS avec Qunit… et non pas de tester la compatibilité multinavigateur.
[^] # Re: Personnellement, j'utilise CasperJS ou Ghost.py
Posté par mackwic . Évalué à 4.
Par curiosité, j'aimerais bien voir la gueule d'un test unitaire Javascript pour un site web. Sérieusement, j'ai du mal a me représenter la chose.
[^] # Re: Personnellement, j'utilise CasperJS ou Ghost.py
Posté par totof2000 . Évalué à 2.
C'est pour ça que je pose la question :)
En tout cas merci pour ces premières réponses.
[^] # Re: Personnellement, j'utilise CasperJS ou Ghost.py
Posté par Stéphane Klein (site web personnel) . Évalué à 2.
Je vais essayer de trouver le temps pour écrire un billet.
[^] # Re: Personnellement, j'utilise CasperJS ou Ghost.py
Posté par Stéphane Klein (site web personnel) . Évalué à 2.
Je viens de voir en Ruby : https://github.com/thoughtbot/capybara-webkit
# Piste
Posté par Alex G. . Évalué à 3.
Le truc Google, AngularJS utilise Testacular, mais moi j'ai jamais utilisé.
Par contre j'ai déjà utilisé selenium mais comme tu dis c'est orienté test fonctionnel, ceci dit il y a un driver ruby, et dans la même communauté OpenQA, il y a Watir pour contrôler un navigateur, c'est en ruby/javascript.
[^] # Re: Piste
Posté par dave_null (site web personnel) . Évalué à 1.
J'ai testé AngularJS et la partie test est très intéressante. Couplé avec Yeoman, AngularJS permet de tester très simplement son application au niveau de l'IHM et au niveau des contrôleurs. À chaque changement (une sauvegarde de fichier par exemple) les tests unitaires sont effectués et même une analyse de la couverture de code peut être générée.
De plus, l'architecture permet de réaliser facilement du Test Driven Development.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.