如何测试这个功能异步函数功能:如何测试它要求使用茉莉花
var self = this;
self.someVariable = "initial value";
self.test = function() {
self.functionWhichReturnsPromise().then(function() {
self.someVariable = "new value";
});
}
我有测试用例就像下面,我知道这是错误的,因为之前承诺解决,assert语句会由茉莉花执行:
it("should test the function test", function (done) {
var abc = new ABC();
abc.test();
expect(abc.someVariable).toBe('new value');
});
请注意,我不想使用setTimeout()或任何睡眠方法。
我已经编辑了问题,所以剩下的唯一的事情就是从'test'函数返回的承诺。假设我不能编辑'test'函数来返回promise,那么是否还有一种方法来测试变量'someVariable'? – Mumzee
如果你不能退还承诺,那么没有'setTimeout'没有办法准确地测试这个。 –
忘记调用'done'。 –