我是编写单元测试的新手,如果这是一个愚蠢的问题,请道歉。如果我试图在Angular控制器中测试依赖于服务调用的模拟数据的方法,并且我也想模拟该服务调用(ngResource),是否有办法使httpBackend忽略在我的控制器中发出的其他请求在初始化?
我尝试将我的whenGET或expectGET定义放在块之前,并且只在我的测试中实例化我的控制器,但我总是发现当我调用flush()时,httpBackend期待其他请求(错误:意外请求)。我不想为所有其他请求编写模拟,只是我用于此测试的那个。
当然,这可能是一个愚蠢的想法,因为我也可以直接提供虚假数据,而不是测试服务以及控制器的方法。我已经证实这是有效的。也许正确的答案是我不应该在控制器内测试服务。
FWIW,我也尝试过使用Sinon fakeServer,显然它甚至没有接受Angular的XHR实现(服务器永远不会响应)。