Bonjour, je teste une collection en utilisant fetch, quand je l'appelle, il n'y a pas de réponse du faux serveur uniquement après avoir appelé le serveur. Réponse J'obtiens le résultat souhaité.
Pourquoi donc ?
Mon code
beforeEach( function() { server = sinon.fakeServer.create(); server.autoRespond = true; colhedoraList = new ColhedoraList(); }); . . . var spy = sinon.spy(colhedoraList, 'parse'); server.respondWith("GET", "getColhedoraInfo", [200, {"Content-Type": "application/json"}, '[{"id":"1","talhaoAtual":1,"posicionamentos":[{"lat":-23.9317401,"lng":-50.2210379,"elevadorLigado":true,"horario":"2012-09-21T11:27:58Z"},{"lat":-23.931544,"lng":-50.2161884,"elevadorLigado":true,"horario":"2012-09-21T11:28:02Z"}]}]']); colhedoraList.fetch({add: true}); server.respond(); expect(spy).toHaveBeenCalled(); expect(spygmaps).toHaveBeenCalledTwice(); expect(colhedoraList.get(1).get('talhaoAtual')).toEqual(1); <<< ALL EXPECTS FAIL, If I don't call respond().
Si vous utilisez des horloges simulées ( sinon.useFakeTimers
) n'importe où dans la spécification, cela pourrait empêcher le répondeur automatique de fonctionner. La méthode addRequest
crée un délai d'attente dans lequel la requête est réellement répondu. Le temps d'attente par défaut est de 10 ms.