Javascript AngularJS:$httpBackend只模拟一些请求

Javascript AngularJS:$httpBackend只模拟一些请求,javascript,angularjs,angular-mock,Javascript,Angularjs,Angular Mock,我使用ngMock模块模拟几个请求,如下所示: $httpBackend.whenGET("/accounts").respond([obj]); 然而,加载模块似乎期望您模拟所有请求。 所以,如果我做了我嘲笑的请求之外的任何其他请求,我会得到“意外请求”错误 如何配置它,使其只截取我显式模拟的请求,并将所有其他内容传递给用户?您可以使用regex和$httpBackend中内置的passThrough()函数 beforeEach(inject(function($httpBackend)

我使用ngMock模块模拟几个请求,如下所示:

 $httpBackend.whenGET("/accounts").respond([obj]);
然而,加载模块似乎期望您模拟所有请求。 所以,如果我做了我嘲笑的请求之外的任何其他请求,我会得到“意外请求”错误


如何配置它,使其只截取我显式模拟的请求,并将所有其他内容传递给用户?

您可以使用regex和$httpBackend中内置的passThrough()函数

beforeEach(inject(function($httpBackend){
    $httpBackend.whenGET("/accounts").respond([obj]);
    //Pass everything else through
    $httpBackend.whenGET(/^\w+.*/).passThrough();
}));

这似乎不再起作用了,它仍然会对某些路由(如/tapi/mds/info)抛出错误。有更好的方法吗?从根本上说,这是一个正则表达式,因此您可以使用(/.*/).passThrough(),这是一种更开放的方法,但可以让其他所有内容通过。这有什么意义?如果我在那次通话后注册新的手机,顺序是否重要?不,它不仅仅是测试。。。。所以这并不能真正回答问题。我想通读所有的东西,除了我想注册的东西。