L'essentiel de Ruby on Rails

Prendre en main le TDD

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Le Test Driven Development (développement piloté par les tests) est une technique un peu particulière, assez complexe, et malheureusement peu utilisée. Votre formateur vous en présente les grandes lignes.
03:30

Transcription

Nous allons parler des tests unitaires dans une application Ruby on Rails, et plus particulièrement du TDD. TDD signifie Test-Driven Development. Autrement dit le développement piloté par les tests. Il est également nommé Red Green Refactor. Il consiste en trois étapes. Red c’est coder le test avant la fonctionnalité. Le test échoue, c’est rouge. Green, c’est coder la fonctionnalité pour faire passer le test. Le test réussit, c’est vert. Refactor, c’est remanier le code pour le rendre plus beau. De cette manière, vous êtes sûr que la fonctionnalité que vous développez fera bien les actions que vous attendez. Cela vous permet d’avoir un code propre et fonctionnel et également un code plus simple à maintenir, pour l’avenir. Cela vous évitera aussi un bon nombre de régressions et de bogues, une fois en production. Le TDD représente aussi un gain de temps énorme en tests utilisateurs. En effet, tout test unitaire testant des fonctionnalités permettra d’éviter à vos utilisateurs, ou du moins à votre équipe de test, de vérifier manuellement ces fonctionnalités. Cela évitera aussi les va-et-vient entre vous et l’équipe de test. Enfin, sachez que l’on peut absolument tout tester, y compris le javascript. Il existe d’ailleurs des bibliothèques, comme jasmin, qui permettent d’effectuer des tests unitaires en javascript. Pour moi, il n’y a que peu d’inconvénients à cette méthode TDD. L’inconvénient majeur est qu’il faut coder les tests. Cela représente donc du temps de développement supplémentaire. Cependant, c’est à mettre en regard au gain de temps des tests manuels qui devraient suivre par la suite, si ces tests n’existaient pas. L’autre inconvénient est qu’il ne faut pas oublier de mettre à jour les tests, lorsque l’on modifie ou ajoute des fonctionnalités. Cela peut parfois engendrer des bogues dans les tests unitaires et donc engendrer une petite perte de temps. Les guides officiels de Ruby on Rails embarquent également une documentation sur comment tester son application. De nouveau, ce guide est très bien documenté et vous présente les différentes méthodes de tests unitaires. Si vous le souhaitez, vous pouvez d’ores-et-déjà jeter un œil à un fichier de tests unitaires dans le dossier test/controlers. Ces fichiers ont été générés lorsque nous utilisons la commande rails generate scaffold. Ici, vous avez l’ensemble des tests unitaires qui vont vérifier si l’accès aux différentes pages du controller topic_answers fonctionne bien. Pour exécuter ensuite les tests unitaires, vous pouvez lancer la commande rails test. Evidemment, pour le moment, nous avons pas mal d’erreurs, puisque nous avons effectivement modifié de façon assez conséquente les différents controllers. Les messages d’erreur sont suffisamment explicites pour que nous puissions résoudre les problèmes rencontrés. Créons notre propre test unitaire. Ouvrez test/controlers et créez le fichier topics_controller_test.rb. Insérez-y le code suivant. Nous testons ici simplement l’accès à la page d’index des sujets de discussion de notre site. Notez comment la classe TopicsControllerTest a été ici initialisée et hérite d’ActionDispatch::IntegrationTest. Nous pouvons ensuite exécuter ce fichier de test à l’aide de cette commande rails test, où nous donnons l’option -b, avec le chemin vers le fichier. De cette manière, cela n’effectuera que les tests unitaires de ce fichier. Le test passe, tout va bien. Cette vidéo vous a donné une première approche des tests unitaires en Ruby on Rails et du principe de TDD. Vous pourrez retrouver de nombreux tutoriels et des documentations en ligne pour vous aider dans votre exploration du TDD.

L'essentiel de Ruby on Rails

Concevez des applications web évolutives et intemporelles avec Ruby on Rails. Installez l’environnement, réalisez un projet de stack overflow, enrichissez-le, etc.

6h08 (85 vidéos)
Aucun commentaire n´est disponible actuellement

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !