Javascript:如何用Jasmine监视superagent?

Kev*_*ker 8 ajax unit-testing jasmine superagent

我正在为应用程序使用superagent ajax库,我正在尝试为它编写一些单元测试.我有一个看起来像这样的课:

someClass = {
  getData: function(){
    _this = this;
    superagent.get('/some_url').end(function(res){
      if(res.body){
        _this.data = res.body
      }
     });
   });
 }
Run Code Online (Sandbox Code Playgroud)

我如何写一个Jasmine测试来窥探_this.data = res.body电话?用and.callThrough()on 设置间谍getData是行不通的.我不想实际调用有问题的URL; 我只是想测试一下,如果它获取数据,它会对它做些什么.

谢谢

小智 3

spyOn(superagent, 'get').and.callFake(function(url) {
  return {
    end: function(cb) {
      //null for no error, and object to mirror how a response would look.
      cb(null, {body: data});
    }
  }
});
Run Code Online (Sandbox Code Playgroud)