Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何在Jasmine中使用spyOn链式方法调用Restangular?_Angularjs_Jasmine_Restangular - Fatal编程技术网

Angularjs 如何在Jasmine中使用spyOn链式方法调用Restangular?

Angularjs 如何在Jasmine中使用spyOn链式方法调用Restangular?,angularjs,jasmine,restangular,Angularjs,Jasmine,Restangular,我使用jasmine为angularJS工厂编写单元测试,该工厂返回对Restangular的调用。比如说, function funcToBeTested(params) { return Restangular.all('/foo').getList(params); } 测试是否在Restangular上调用all()很简单。在all()返回后,如何测试是否对返回的Restangular对象调用getList() 目前,我有 beforeEach(function() { mod

我使用jasmine为angularJS工厂编写单元测试,该工厂返回对Restangular的调用。比如说,

function funcToBeTested(params) {
  return Restangular.all('/foo').getList(params);
}
测试是否在Restangular上调用all()很简单。在all()返回后,如何测试是否对返回的Restangular对象调用getList()

目前,我有

beforeEach(function() {
  module('ui.router');
  module('myService');
  module('restangular');
});

describe('funcToBeTested', function() {
  beforeEach(function() {
    httpBackend.expectGET('/foo').respond([]);
  });

  it('should call all on Restangular', function() {
    spyOn(Restangular, 'all').and.callThrough();
    funcToBeTested({});
    httpBackend.flush();
    expect(Restangular.all).toHaveBeenCalled();
  });
});
如果我试图遵循同样的模式,按照

expect(Restangular.all.getList).toHaveBeenCalled();

事情停止了。我找不到任何关于这方面的文献。非常感谢您的帮助。

请查看
Restangular.restangularizeCollection
-类似于-。使用它,您可以包装您的
httpbackend
结果,然后包装'restangularized'模型的
getList
。我还没试过,但应该可以。看看
Restangular.restangularizeCollection
-类似于-。使用它,您可以包装您的
httpbackend
结果,然后包装'restangularized'模型的
getList
。我还没试过,但应该可以用。