Captain Academy/Les Tests Unitaires en Javascript

  • 82,50 €

Les Tests Unitaires en Javascript

  • Fermé

Apprend à tester ton code simplement. Je te donne toutes les techniques pour produire des tests unitaires de qualité.
Peu de développeurs savent comment tester leur code…
La plupart se donnent des excuses: ça prend trop de temps, le client ne veut pas, pas le temps, ça sert à rien…
J’aime bien faire l’analogie avec d’autres industries où le manque de test pourrait avoir des conséquences catastrophiques…

Tester c’est un métier, un métier que peu de développeurs connaissent…

Il fût un temps et c’est encore le cas pour beaucoup d’entreprises, tester les logiciels était la responsabilité des équipes QA (Quality Assurance).
Autrement dit, des équipes de testeurs. Leur but, s’assurer que le code produit correspond aux attentes métier.
Maintenant, on a quasiment plus de testeurs mais des développeurs qui fonctionnent à l’instinct… Le fameux: “Tester c’est douter, corriger c’est abdiquer”...
Je me demande avec quelle sérénité ce genre de développeur met en production son application.

Personne n’aborde le sujet...
Non les tests ne sont pas innés.
Tester ça s’apprend.
Personnellement, quand j’ai commencé le Dev, je ne testais pas mon code. J’ai appris avec le temps, quand j’ai découvert le Software Craftmanship, j’ai enfin compris.

Considérer le code comme un art et pas seulement un empilement de techniques aide à se rendre compte que le même résultat visible peut être atteint de différentes manières.
Peu de développeurs se penchent vraiment sur le Testing parce que cela demande du temps, cela demande des compétences supplémentaires et de l’engagement.
Un engagement que tu dois fournir en amont, dont le ROI n’est visible qu’une fois que tes tests t’ont empêché de faire exploser la production. Au lieu de ça, on préfère trouver les bugs normaux... 

Ton client ne verra pas la face cachée de l’iceberg… 

C’est ce qui pousse selon moi la plupart des gens à ne pas tester leur code.
Si ton application n’est pas testée et qu’elle fonctionne, on se dira que les tests ne servent à rien. Ce que tu ne vois pas, c’est que rajouter du code dans une base de code de 50000 lignes sans filet de sécurité, c’est risqué. 

Donc je préfère 100 fois tester mon code et être capable de modifier une base de code sereinement avec des centaines de tests me permettant d’identifier le moindre problème avant d’arriver en production...

Imagine que ton plombier change ta baignoire mais qu’elle fuie… Tu vas accepter tranquillement en te disant c’est pas grave, je vais payer une deuxième fois pour colmater la fuite ?

Commence par apprendre les tests unitaires
J’ai créé une formation (après Testing 101: the big picture) sur les Tests unitaires avec Jest. 
Jest est l’outil le plus simple pour démarrer en testing, il offre une expérience de développement inégalée !

Je lance cette nouvelle formation à l’occasion du Black Friday, comme les autres elle est disponible avec une réduction de -75% !


Tu ne verras plus les tests de la même façon

Rapidement ton code va évoluer, tu vas le rendre plus testable.
Moins de dépendances, un code plus découpé (Single Responsability Principle)...

Plus tard, tu produiras instinctivement du code plus propre.
Au moment de penser le design d’une feature, tu penseras: et si mes paramètres en entrées sont nuls ne sont pas du bon type, n’ont pas le bon formatage, si mon tableau contient 1000 éléments au lieu de 100 etc. 
Toute ces questions te permettent de produire du code robuste !

Avec l’habitude, j’ai tendance à produire du code défensif
Exemple tout bête, testes-tu les paramètres envoyés à tes fonctions ?
S’il y a un problème dans les inputs, tu devrais générer une erreur au lieu d’attendre qu’elle arrive au runtime !

Tu as 2 options:
  1. Apprendre par toi même
    1. C’est faisable, ça te prendra surement plus de temps. J’aime penser que les formations sont juste des raccourcis… 
    2. Utiliser la formation et donner un coup de boost à tes hard skills ! 
      Encore une fois, c’est juste un raccourci, moins cher qu’un jeu de PS4, à toi de voir…

Un aperçu de ce que tu vas apprendre

  • Toute la formation se base sur Jest
  • Différencier un test unitaire d’un test d’intégration
  • Installer toute la configuration de base
  • Découvrir le fonctionnement de la plateforme
  • Apprendre les fonctions clefs du framework permettant de garder une suite de test stable
  • Tester du code asynchrone
  • Remplacer les données provenants de services externes pendant l'exécution du test
  • Les bonnes pratiques pour écrire un bon test (rapide, lisible, indépendant)
  • La killer feature permettant de tester un objet ou un composant peu importe sa taille
  • Utiliser Typescript pour rendre tes tests encore plus robuste
  • Maitriser l’ordre d’execution de tes tests
  • Tester directement le DOM
  • Tester des composants React
  • (BONUS, à venir): Tester des composants Vue.js


Après cette formation, tu ne verras plus le métier de développeur de la même manière
Quand tu as une suite de test conséquente, tu peux travailler sereinement.
Imagine que tu ais un ami imaginaire qui veille sur toi.
Te préviens quand tu es sur le point de tout casser.
Le fait de manière systématique, à chaque fois que tu compiles, commit, déploie !

Comment suivre la formation ? 

C’est une formation vidéo, je te fournis le code avant / après.
Tu peux la commander dès aujourd’hui ! 

Elle dure combien de temps ?

Je fais du montage sur mes formations, le but est de les garder les plus courtes possible en délivrant un maximum de valeur ! 
Si tu préfères une formation 10x trop long, remplie de blabla, j’ai peur de ne pas être la bonne personne...

Si j’ai un problème ?

En cas de problème, envoie-moi un email à l’adresse suivante: emmanuel@captaindev.io


A tout de suite dans la formation !




Contenu

code.zip
  • 902 ko
01 - Configurer Jest.mp4
  • 17 min
  • 243 Mo
02 - Jest Platform.mp4
  • 12 min
  • 207 Mo
03 - Tests unitaires avec Jest.mp4
  • (1h 14m 27s)
  • 1,65 Go
04 - Tester le DOM, les composants.mp4
  • 34 min
  • 717 Mo
05 - Coverage.mp4
  • 3 min
  • 43,9 Mo
06 - Configure Typescript.mp4
  • 5 min
  • 62,3 Mo
07 - Conclusion.mp4
  • 1 min
  • 9,85 Mo
solution.zip
  • 911 ko