我使用角度$httpBackend
对单个测试API功能进行单元测试。该应用程序对大多数API端点使用$resource
,但只有一个原始$http
调用(与DELETE请求一起发送数据,而不是我的选择)。
该模型有一个简单的删除方法,如下所示:
this.delete = function(target) {
return $http({method: 'DELETE', url: '/api/delete' + this.id, data: target});
};
一个简单的测试用例,失败了No pending request to flush
:
it('calls the API', function() {
httpBackend.expect('DELETE', '/api/delete').respond(200, '');
scope.obj.delete(1);
httpBackend.flush();
});
此测试设置似乎适用于使用$resource
的任何端点,但只要我使用$http
就会失败。我确认已调用.delete()
方法,并按预期返回promise
。
我是否遗漏了文档中的内容?