Angular ngmock httpBackend - 忽略除一个请求之外的所有请求?

时间:2015-07-09 20:34:37

标签: angularjs unit-testing mocking xmlhttprequest httpbackend

我是编写单元测试的新手,如果这是一个愚蠢的问题,请道歉。如果我试图在Angular控制器中测试依赖于服务调用的模拟数据的方法,并且我也想模拟该服务调用(ngResource),是否有办法使httpBackend忽略在我的控制器中发出的其他请求在初始化?

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

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

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

0 个答案:

没有答案