Nicolas MEDDA - Christophe PROMÉ
source : caniuse.com
Framework |
Asserter |
Runner |
|
Framework |
Asserter |
function Store() {}
Store.prototype.findAll = function() {
console.log('je suis la vrai methode findAll');
}
store.findAll();
// => je suis la vrai methode findAll
sinon.stub(store, 'findAll').yields('Je suis le stub de store.findAll');
store.findAll(); // => Je suis le stub de store.findAll
// Équivalent à
store.findAll = function() {
return 'Je suis le stub de store.findAll';
};
var store = new Store();
var model = new Model(store);
var mock = sinon.mock(store);
mock.expects('findAll').once();
model.all();
mock.verify();
// On s'assure que la méthode all de model a bien appelé
// la methode findAll de store;
var server = sinon.fakeServer.create();
server.autoRespond = true;
server.respondWith('GET', '/elements', [200, {
'Content-Type': 'application/json'
}, '["elem1", "elem2", "elem3"]']);
Store.findAll = function() {
xhr.get('/elements' ...);
}
var store = new Store();
store.findAll();
// => L'appel xhr dans la methode recevra les données définie
// dans server.respondWith
Mocha | http://visionmedia.github.io/mocha |
Chai | http://chaijs.com |
Sinon | http://sinonjs.org |
Testem | http://github.com/airportyh/testem |
Karma | http://karma-runner.github.io |
CasperJS | http://casperjs.org |
DalekJS | http://dalekjs.com |
Effroi | http://github.com/francejs/effroi |
Et testez bien !