1

我是茉莉花间谍的新手。

这是我的测试:

spyOn(gapi, 'ready').andCallThrough();
inject(function(_endpointService_) {
  endpointService = _endpointService_;
});        
var _doSteps = gapi.ready.mostRecentCall.args[0];
var wrapper = {_doSteps: _doSteps};
spyOn(wrapper, '_doSteps');
gapi.ready(); //calls _doSteps through promise in service.
//_doSteps();
expect(wrapper._doSteps).wasCalled(); //gives error - not called.

就像在我的 endpointService 中一样,我有:

gapi.ready($endpointService._doSteps);
return $endpointService;

和我的 _doSteps 方法:

_doSteps: function(){
   console.log('in dosteps!');
 },

它记录'在dosteps中!在间谍抱怨没有调用 _doSteps 之前。我该怎么做呢?

4

1 回答 1

1

您的 spyOn() 函数返回一个间谍对象 - 所以我不确定您为什么使用 mostRecentCall 和包装器?

var gapi = new Gapi(); // must create a variable to spy on.
var readySpy = spyOn(gapi, 'ready').andCallThrough();
// .. something that calls gapi.ready here
expect(readySpy).toHaveBeenCalled();
于 2014-05-27T03:16:20.920 回答