在我的服务单元测试中,我正在测试GET请求。即使我明确说明$httpBackend.expectGET('/api/example').respond(200, {});
。
Error: Unexpected request: GET /api/another/example
Expected GET /api/example
单元测试
describe('MyService', function() {
var MyService,
$httpBackend;
beforeEach(module('example'));
beforeEach(function() {
inject(function(_MyService_, _$httpBackend_) {
MyService = _MyService_;
$httpBackend = _$httpBackend_;
$httpBackend.expectGET('/api/example').respond(200, {});
});
})
describe('#get', function() {
beforeEach(function() {
// this is what i want to test
$httpBackend
.expectGET('/api/another/example')
.respond(200, {});
});
it('should send a get request', function() {
MyService.get();
$httpBackend.flush();
});
});
});
答案 0 :(得分:0)
我无法看到您MyService.get()
函数的内容,但我会继续并假设它正在调用GET /api/another/example
。
如果我没记错的话,您必须按照您列出的顺序在$httpBackend
上提供预期的请求。
假设在触发每个段之前,您必须先针对GET
启动/api/example
请求,然后才能访问GET /api/another/example
。