Testing in Front-End

https://auth0.com/blog/bootstrapping-a-react-project/

https://medium.com/@kentaromiura_the_js_guy/jest-for-all-episode-1-vue-js-d616bccbe186#.ir0vdz2mw

Pourquoi tester ?

Day one

Month one

Year one

Les tests servent à

  • Disposer d'une spécification technique
  • Garantir la non régression
  • Trouver les erreurs plus rapidement
  • Améliorer la qualité du code produit
  • Changement du code facilité
  • Mieux dormir la nuit

Pas toujours facile à mettre en oeuvre

  • Définir ce qui doit être testé
  • Maintenir la couverture du code
  • Prendre le temps de tester
  • Convaincre l'équipe, le client, ...

Quels tests ?

Ce qui existe aujourd'hui

  • test unitaire

 

  • test d'intégration

 

 

 

  • test de sécurité : ZAP

 

Les tests unitaires

L'unité ou le module

La couverture de code

ou code coverage

Les mocks, stubs & co

ou comment mélanger les concepts

Les méthodologies

TDD ou ...

Les outils

  •  runners
    • Karma https://karma-runner.github.io/1.0/index.html
  • Langages
    • Jasmine (behavior) https://jasmine.github.io/
    • MochaJS https://mochajs.org/
    • JEST (Facebook) http://facebook.github.io/jest/
    • qUnit (jQuery) http://qunitjs.com/
    • Enzyme (AirBNB) http://airbnb.io/enzyme/
    • Chai http://chaijs.com/
  • Stubs / mocks / spies
    • SinonJS http://sinonjs.org/
    • Wiremock http://wiremock.org/

Configuration JEST

Reprise de create-react-app
from scratch

Unit testing

TDD enabled !

Snapshot testing

Les tests d'intégration

et/ou fonctionnels

NightwatchJS

mais aussi protractor...

http://nightwatchjs.org/getingstarted

Testing in Front-End

By mdartic

Testing in Front-End

  • 620