J'ai un cas de test de composant de travail actif déjà avec mocha utilisant sinon capable de simuler un appel ajax mais avec l'aide de setTimeout(function(){}, 100)
et Je n'aime pas l'utiliser.Comment simuler un appel ajax en moka en utilisant sinon sans définir le délai sur un composant ractif en utilisant le magasin de reflux
beforeEach(function() {
this.container = document.createElement('div');
document.body.appendChild(this.container);
this.server = sinon.fakeServer.create();
this.server.respondWith(
"GET",
"/api/url",
[
200,
{ "Content-Type": "application/json" },
'{"data": []}'
]
);
});
afterEach(function() {
document.body.removeChild(this.container);
});
it("should fetch data from server", function (done) {
var server = this.server;
var Component = require('rvc!path/to/component');
var component = new Component({
el: this.container,
});
setTimeout(function() {
server.respond();
expect(component.findAll('.list li').length).to.equal(7);
done();
}, 100);
});
Comme vous pouvez le voir dans le code ci-dessus, j'utilise le setTimeout pour vous assurer que l'appel ajax (maquette) a été faite avant d'avoir le test réel du composant.
Y a-t-il un moyen d'éliminer le setTimeout ayant le même effet? Merci!
Comment les données obtenir du serveur simulé au composant? – martypdx