控制器内的测试工厂显示错误不是一个功能

时间:2016-03-16 04:03:00

标签: angularjs jasmine karma-jasmine

需要帮助测试控制器中的以下功能。

getEmployeeList 是控制器中的自调用函数,用于在控制器加载时加载ui中的数据,它依赖于工厂,在控制器中写入以下代码后,所有当前测试都失败 出现以下错误“ employeeService.employeeList不是函数

$scope.getEmployeeList = function () {

                        employeeService.employeeList().then(function (result) {
                            angular.forEach(result.results, function (item) {
                                $scope.employees.push({eId:item.id,eName:item.name});
                            });                            
                        });
                    };

$scope.getEmployeeList();

内部工厂是一个简单的$ http.get

 define([], function(){
    "use strict";
   var emplABC = function($http, $window, $q, $log, constants){

      var defered = $q.defer();

      var employeeList = function () {

               $http.get(constants.employeeApi, {withCredentials: true})
                   .success(function (data) {
                       defered.resolve(data);
                   }).error(function (ex) {
                   $log.error("abc err", {
                       workFlow: 'employee List',
                       message: 'An unexpected error ist of employees:' + ex
                   });
               });
               return defered.promise;
           };


      return {
          employeeList : employeeList
      };
   } ;

   emplABC.$inject = ['$http','$window', '$q', '$log'];

   return  emplABC;
});

请提供一些例子......

1 个答案:

答案 0 :(得分:0)

尝试删除var并使用like:

employeeList = function(){