Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 是否忽略除一个请求以外的所有请求?_Angularjs_Unit Testing_Mocking_Xmlhttprequest_Httpbackend - Fatal编程技术网

Angularjs 是否忽略除一个请求以外的所有请求?

Angularjs 是否忽略除一个请求以外的所有请求?,angularjs,unit-testing,mocking,xmlhttprequest,httpbackend,Angularjs,Unit Testing,Mocking,Xmlhttprequest,Httpbackend,我不熟悉编写单元测试,所以如果这是一个愚蠢的问题,我深表歉意。如果我试图在Angular控制器中测试依赖于来自服务调用的模拟数据的方法,并且我还想模拟该服务调用(ngResource),有没有办法让httpBackend在初始化时忽略控制器中发出的其他请求 我尝试将我的whenGET或expectGET定义放在before块中,并且只在测试中实例化我的控制器,但我总是发现httpBackend在调用flush()时需要其他请求(错误:意外请求)。我不想为所有其他请求编写mock,只想为我用于此测

我不熟悉编写单元测试,所以如果这是一个愚蠢的问题,我深表歉意。如果我试图在Angular控制器中测试依赖于来自服务调用的模拟数据的方法,并且我还想模拟该服务调用(ngResource),有没有办法让httpBackend在初始化时忽略控制器中发出的其他请求

我尝试将我的whenGET或expectGET定义放在before块中,并且只在测试中实例化我的控制器,但我总是发现httpBackend在调用flush()时需要其他请求(错误:意外请求)。我不想为所有其他请求编写mock,只想为我用于此测试的请求编写mock

当然,这可能是一个愚蠢的想法,因为我也可以直接提供假数据,而不使用控制器的方法测试服务。我已经证实了这是有效的。也许正确的答案是,我不应该在控制器内测试服务

FWIW,我也尝试过使用Sinon fakeServer,显然它甚至没有接受Angular的XHR实现(服务器从未响应)