Stratégie de tests
ParisJS #35
Présentation
● Développeur JavaScript
● Bientôt 2 ans chez Wisembly
Objectifs
● Retour d’expérience
● Comment tester une app MVC
● Revue des solutions mises en oeuvre
● Exemples de code
Wisembly
Wisembly
Une test suite
● Pourquoi
● Quels objectifs
Techno frontend
● BackboneJS
● Backbone Layout Manager
● Backbone Relational
● WebSockets
Techno de tests
● Mocha / expect
● Sinon
● PhantomJS / Mocha-phantomjs
Choix du type de tests
● Unitaires
● Fonctionnels
Premier test
My first test
It should spread some love
‘Tendresse et chocolat’ should be a string
Premier test de l’app
● On clique sur le premier élément du menu
● On vérifie qu’il y a 4 items sur la page
Test asynchrone bullshit
● Une fois le test terminé, on exécute `done`
Test asynchrone et dispatcher
● On trigger des events à chaque `render`
Bien cloisonner les tests
● Les tests ne doivent pas être inter
dépendants
● S’assurer que toutes les actions
asynchrones ...
Promises manager
● Stocker toutes les promises `request` et
`render`
● afterAll filtrable par namespace
Test asynchrone indépendant
Requête API
● Que fait on de cette data
● C’est long
● Browsers, mises à jour
Fake server
● Sinon.js
● Avantages
○ Qualité
○ Hygiène de la test suite
○ Process
● Inconvénients
○ Mise en place (selon l...
Fake server - mise en place
● Facile et rapide à mettre en place
● Parfois complexe de simuler l’API
Merci
Des questions, des conseils ?
Twitter : @gmajoulet
Upcoming SlideShare
Loading in …5
×

Paris js#35 - Stratégie de tests d'une application MVC

1,258 views

Published on

Présentation d'une stratégie de tests :

- la façon de gérer l'asynchronisme d'une application one page BackboneJS, ou plus globalement d'une application MVC
- la façon de gérer les requêtes aux API via un fake server sinon

Pour plus d'infos, des retours ou questions : @gmajoulet sur Twitter

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,258
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Paris js#35 - Stratégie de tests d'une application MVC

  1. 1. Stratégie de tests ParisJS #35
  2. 2. Présentation ● Développeur JavaScript ● Bientôt 2 ans chez Wisembly
  3. 3. Objectifs ● Retour d’expérience ● Comment tester une app MVC ● Revue des solutions mises en oeuvre ● Exemples de code
  4. 4. Wisembly
  5. 5. Wisembly
  6. 6. Une test suite ● Pourquoi ● Quels objectifs
  7. 7. Techno frontend ● BackboneJS ● Backbone Layout Manager ● Backbone Relational ● WebSockets
  8. 8. Techno de tests ● Mocha / expect ● Sinon ● PhantomJS / Mocha-phantomjs
  9. 9. Choix du type de tests ● Unitaires ● Fonctionnels
  10. 10. Premier test My first test It should spread some love ‘Tendresse et chocolat’ should be a string
  11. 11. Premier test de l’app ● On clique sur le premier élément du menu ● On vérifie qu’il y a 4 items sur la page
  12. 12. Test asynchrone bullshit ● Une fois le test terminé, on exécute `done`
  13. 13. Test asynchrone et dispatcher ● On trigger des events à chaque `render`
  14. 14. Bien cloisonner les tests ● Les tests ne doivent pas être inter dépendants ● S’assurer que toutes les actions asynchrones sont terminées
  15. 15. Promises manager ● Stocker toutes les promises `request` et `render` ● afterAll filtrable par namespace
  16. 16. Test asynchrone indépendant
  17. 17. Requête API ● Que fait on de cette data ● C’est long ● Browsers, mises à jour
  18. 18. Fake server ● Sinon.js ● Avantages ○ Qualité ○ Hygiène de la test suite ○ Process ● Inconvénients ○ Mise en place (selon les cas) ○ Maintenance
  19. 19. Fake server - mise en place ● Facile et rapide à mettre en place ● Parfois complexe de simuler l’API
  20. 20. Merci Des questions, des conseils ? Twitter : @gmajoulet

×