如何将值返回到jasmine中的错误案例 - 模拟一个承诺?

时间:2016-03-23 09:14:08

标签: jasmine promise

我正在嘲笑一个将值返回给promise的方法。我成功地将价值归还给了积极的案例,但似乎无法将价值归还给负面案例。我通过

将价值归功于成功案例
return {
  then: function (callback) {
    return callback({'foo' : "bar"});
            }
        };

我嘲笑的方法(下)

login() {
  return axios.post("/login");
}

将控制权交还给

login().then((response) => {
    console.log("correct",response);
  }, (err)=> {
    console.log("wrong response",err);
  });

1 个答案:

答案 0 :(得分:0)

永远不要像你那样推出自己的then像素 - 这样做风险很大。

那就是说,如果必须,你可以这样做:

then: function (success, fail) {
  return fail(Error("Error"));
};

但为什么要这么麻烦?你可以这样做:

return Promise.reject(Error("Error")); 

这更容易,更容易出错,同样成功:

return Promise.resolve({a: 'a', b: 'b'});