1

我正在使用 angularjs,我必须测试包装的 $http

ang.factory("HttpService", ["$http", "$q", function ($http, $q) {
return {
get: function (url) {
  var result = $q.defer();
  $http.get(url).success(function ($data) {
    result.resolve($data);
  }).error(function ($data) {
    result.reject($data);
  });
  return result.promise;
}
 };
}]);

我认为测试应该是这样的

beforeEach(module('ngBoilerplate.employee', function ($provide) {
  HttpService = jasmine.createSpyObj("HttpService", ["get", "post"]);

  $provide.value("HttpService", HttpService);
}));  

beforeEach(inject(function (_$controller_, _$rootScope_, _HttpService_) {
  $scope = _$rootScope_.$new();
  HttpService = _HttpService_;
  $controller = _$controller_('EmployeeCtrl', {$scope: $scope, HttpService: HttpService});
}));

PS:我正在使用 ngBoilerplate。谢谢

4

0 回答 0