4. Les outils
●
RequireJS pour modulariser http://requirejs.org/
●
Jasmine pour tester
http://pivotal.github.io/jasmine/
5. Que fait RequireJS ?
Il permet de gérer les dépendances de chaque
fichier :
models/truc.js:
<module> <deps> <callback>
define('models/truc', ['backbone'], function(Backbone) {
return Backbone.Model.extend({});
});
6. Dans quel but ?
●
S'assurer qu'un fichier est correctement chargé
avec ses dépendances
●
Pouvoir ne charger que ce dont on a besoin
●
Utiliser r.js pour minifier le tout
7. Comment utiliser Jasmine ?
●
Page web “classique”, pratique pour test/debug
●
Automatisé avec NodeJS, pour intégration
continue
11. beforeEach() et afterEach()
●
Respectivement exécuté avant et après chaque
test
●
Concerne seulement le describe() en cours
describe('whatever', function() {
var truc;
beforeEach(function() {
truc = new Truc();
});
});
13. Syntaxe des espions
spyOn(truc, 'someFunction');
truc.someFunction(123);
expect(truc.someFunction).toHaveBeenCalled();
expect(truc.someFunction).toHaveBeenCalledWith(123);
14. Options
●
spyOn().andCallThrough() pour que la fonction
soit tout de même appelée
●
spyOn().andReturn(123) pour que la fonction
retourne une valeur particulière
●
spyOn().andCallFake(function(){}) pour
remplacer la fonction par une autre