给定具有功能的 Angular Controller
this.checkResponse = function (response) {
if (response.success === true) {
return $q.resolve(response);
} else {
return $q.reject(response);
}
};
如何使用 Jasmine 测试返回值是一个 promise ?我可以轻松验证我是否在函数内调用了resolve或reject,或者我收到了jasmine.any(Function),但如何确保它是一个 promise ?
最佳答案
我会在测试中这样做:
//done callback will ensure that success function should called
it('blabla', function(done){
//when
app.checkResponse().then(function(){
done();
}, function(){
fail("error callback has been called");
done();
});
})
它将确保您必须返回一个 promise ,否则它将因超时而失败。对我来说这是最快的解决方案。
这就是你要找的吗?还是我误解了你的意思?
关于javascript - 测试返回值是否是一个 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34636690/