我正在尝试对我的过滤器进行单元测试,这是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