在尝试测试返回普通 $q 承诺的服务时,我遇到了一件奇怪的事情。我在任何测试中尝试的任何承诺实际上都不会被解决/拒绝(更具体地说,then
不会调用来自的处理程序,承诺中的代码运行得很好)。我什至尝试在根范围内强制进行摘要,正如 SO 上的其他一些答案所建议的那样,没有任何运气。
这是一个独立的小例子:
describe('promise', function(){
jasmine.DEFAULT_TIMEOUT_INTERVAL = 500;
let q;
beforeEach(inject(function($q){
q = $q;
}));
it('finishes', function(done){
expect(q).toBeDefined();
const promise = q.resolve();
console.log(promise);
promise.then(
() => done(),
() => done.fail()
);
});
});
我必须做什么才能使承诺按预期工作?