如何配置此业力测试?

时间:2015-08-23 11:47:37

标签: angularjs karma-jasmine

我正在尝试对我的过滤器进行单元测试,这是js:

app.filter('dateRange', function() {
  return function(input,dateFrom,dateTo) {
      return _.filter(input, function(d) {
         var result= Date.parse(d.settlementDate) >= Date.parse(dateFrom) && Date.parse(d.settlementDate) <= Date.parse(dateTo)
          return result;
      });
  }
});

我在这个中使用了underscore.js。这是karma.conf的文件部分:

 files: [

            'bower_components/angular/angular.js',
            'bower_components/angular-animate/angular-animate.js',
            'bower_components/angular-mocks/angular-mocks.js',
            'bower_components/angular-ui-router/release/angular-ui-router.js',
            'bower_components/angular-bootstrap/ui-bootstrap.js',
            'bower_components/angular-smart-table/dist/smart-table.min.js',
            'bower_components/underscore/underscore.js',
            'app/modules/**/*.js',
            'app/modules/app.js',
            //'../app/scripts_old/**/*.js',
            //  'test/mock/**/*.js',
            'test/spec/**/*.spec.js'
        ],

这是规范:

'use strict';

describe('Filter: daterange', function () {

    var $filter;
    beforeEach(function () {
        module('myModule');
    });

    beforeEach( inject(function (_$filter_) {
        $filter = _$filter_;
    }));

    it('should be in the range',function(){
        expect($filter('dateRange')('08/10/2015','08/01/2015','08/30/2015')).toBeTruthy;
    });

});

bower.json:

{
  "name": "angularmain-fork",
  "version": "0.0.0",
  "dependencies": {
    "angular": "^1.3.0",
    "json3": "^3.3.0",
    "es5-shim": "^4.0.0",
    "bootstrap-sass-official": "^3.2.0",
    "angular-resource": "^1.3.0",
    "underscore": "~1.8.3",
    "angular-ui-router": "~0.2.15",
    "angular-bootstrap": "~0.13.3",
    "angular-smart-table": "~2.1.2",
    "moment": "~2.10.6",
    "angular-animate": "~1.4.4"
  },
  "devDependencies": {
    "angular-mocks": "~1.3.0",
    "angular-scenario": "~1.3.0",
    "angular-bootstrap": "~0.13.0",
    "angular-smart-table": "~2.1.2"
  },
  "appPath": "app",
  "resolutions": {
    "angular": "^1.0.0"
  }
}

为什么我收到此错误?:

  

错误:[$ injector:modulerr]由于以下原因无法实例化模块ngMock:

     

错误:[$ injector:unpr]未知提供者:$$ asyncCallbackProvider

1 个答案:

答案 0 :(得分:0)

我认为这可以解决您的问题:Answer to same problem

我刚试过它(只是将^放在版本号的开头),它解决了我的问题。