在karma中只使用http请求测试功能



我必须测试AngularJS应用程序,我正在尝试对服务进行单元测试。这些服务的功能如下:

      getData: function(){
      return $http.get(serviceRoot+'/getData/'+anotherService.id()).then(function(response) {
              return secondService.validateServerJson(response.data.key);
      }, function(error) {
        return false;
      })
    },

既然我在嘲笑http请求,那么写一个测试有意义吗?

您可以执行以下

$httpBackend.expectGET(serviceRoot+'/getData/'+anotherService.id(), function(){}).respond(200,{/*response object*/});
yourserviceinstance.getData();
$httpBackend.flush();

这是链接单元测试AngularJS控制器与$httpBackend

希望这能帮助你

最新更新