【问题标题】:Angular ng-mock - help matching url routesAngular ng-mock - 帮助匹配 url 路由
【发布时间】:2016-02-01 23:46:18
【问题描述】:

我正在尝试使用 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];
});

【问题讨论】:

    标签: angularjs angularjs-ngmock


    【解决方案1】:

    所以大概你知道你将要传递给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
    

    【讨论】:

      【解决方案2】:

      我查看了错误版本的文档 (1.5),我不得不删除正则表达式周围的单引号:

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

      【讨论】:

        猜你喜欢
        • 2011-11-14
        • 1970-01-01
        • 1970-01-01
        • 2018-06-28
        • 2011-03-05
        • 2018-06-17
        • 1970-01-01
        • 1970-01-01
        • 2019-05-30
        相关资源
        最近更新 更多