使用jasmine进行服务的单元测试

时间:2016-09-29 10:06:17

标签: javascript angularjs unit-testing jasmine

以下是我们项目中遵循的惯例。服务将调用资源文件并返回promise。

这是我的服务

angular.module('myModule').factory('myService', function(myResource) {
  return {
    exportToExcel: function(params) {
      return myResource.exportToExcel($.param(params)).$promise;
    },
    getUsers: function(term) {
      return myResource.getUsers({ term: term }).$promise;
    }
  }
});

这是我的资源档案

angular.module('myModule').factory('myResource', function($resource) {
  return $resource('/report/', {}, {
    exportToExcel: {
      method: 'POST',
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
      responseType: 'arraybuffer',
      url: '/abc/qwer',
      transformResponse: function(data, headers) {
        var response = {};
        response.data = data;
        response.headers = headers;
        return response;
      }
    },
    getUsers: {
      method: 'GET',
      url: '/abc/xyz',
      isArray: true
    }
  })
});

我发现很难用茉莉花来编写单元测试用例。有些人可以帮忙解决这个问题,因为我是单位测试用例的新手。

我在谷歌搜索但找不到适合我需要的例子

1 个答案:

答案 0 :(得分:0)

这是如何测试角度工厂的典型示例。您可以查看以下内容:

http://embed.plnkr.co/2i7IHs/

Testing an AngularJS factory with Karma (Jasmine)