mit Asynchron-Funktion aufruft, wie diese Funktion testen:Wie eine Funktion zu testen, die Jasmine
var self = this;
self.someVariable = "initial value";
self.test = function() {
self.functionWhichReturnsPromise().then(function() {
self.someVariable = "new value";
});
}
I Testfall haben wie unten, ich weiß, es ist falsch, weil vor Versprechen gelöst wird, wird die assert-Anweisung sein ausgeführt von Jasmin:
it("should test the function test", function (done) {
var abc = new ABC();
abc.test();
expect(abc.someVariable).toBe('new value');
});
Beachten Sie, dass ich SetTimeout() oder keine Schlafmethoden verwenden möchte.
ich die Frage bearbeitet haben, so das einzige, was noch Versprechen zurückzukehren, von 'test' Funktion. Angenommen, ich kann die 'test'-Funktion nicht bearbeiten, um eine Versprechung zurückzugeben, gibt es dann noch eine Möglichkeit, die Variable' someVariable' zu testen? – Mumzee
Wenn Sie das Versprechen nicht zurückgeben können, gibt es keine Möglichkeit, dies genau zu testen, ohne ein 'setTimeout' –
Forgot to 'done' aufzurufen. –