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