Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 Angular ng mock-帮助匹配url路由_Angularjs_Ngmock - Fatal编程技术网

Angularjs Angular ng mock-帮助匹配url路由

Angularjs Angular ng mock-帮助匹配url路由,angularjs,ngmock,Angularjs,Ngmock,我试图使用ng mock来伪造删除请求,但不断收到错误:意外请求:DELETE/api/1.0/package/1。如何正确定义模拟url以匹配工厂请求: function deletePackage(file) { return $http.delete('/api/1.0/package/' + file.id) .then(deleteComplete) .catch(deleteFailed) } $httpBackend.whenDELET

我试图使用ng mock来伪造删除请求,但不断收到错误:意外请求:DELETE/api/1.0/package/1。如何正确定义模拟url以匹配工厂请求:

function deletePackage(file) {
  return $http.delete('/api/1.0/package/' + file.id)
    .then(deleteComplete)
    .catch(deleteFailed)            
}

$httpBackend.whenDELETE('/api/1.0/package/:id').respond(function(method, url, data, headers, params) {
   return [200, params.id];
});

因此,您大概知道要传递给
deletePackage
方法的
file
参数。考虑到这一点,您应该确切地知道预期的URI是什么

var file = {id: 'some_id'};
$httpBackend.whenDELETE('/api/1.0/package/' + file.id).respond(file.id);

deletePackage(file); // presuming this function is in scope

我看到的是错误版本的文档(1.5),我不得不删除regex中的单引号:

$httpBackend.whenDELETE(/\/api\/1.0\/package\/(.+)/)
.respond(function(method, url, data) {
   return [200];
});