Angularjs 如何为具有依赖关系的angulajs过滤器创建单元测试?
如何为我创建单元测试Angularjs过滤器调用?当前代码给我错误信息: 错误:[$injector:unpr] $injector/unpr?p0=前端过滤器提供程序%20%3C的日期-%20前端过滤器的日期 在public/scripts/angular/angular.min.js:6:425 在public/scripts/angular/angular.min.js:44:395 我的代码如下: 过滤代码:Angularjs 如何为具有依赖关系的angulajs过滤器创建单元测试?,angularjs,filter,Angularjs,Filter,如何为我创建单元测试Angularjs过滤器调用?当前代码给我错误信息: 错误:[$injector:unpr] $injector/unpr?p0=前端过滤器提供程序%20%3C的日期-%20前端过滤器的日期 在public/scripts/angular/angular.min.js:6:425 在public/scripts/angular/angular.min.js:44:395 我的代码如下: 过滤代码: app.filter('DateForFrontEndFilter', ['$
app.filter('DateForFrontEndFilter', ['$filter', 'ngOtherSettings', function($filter, ngOtherSettings) {
return function(date) {
var format = ngOtherSettings.FrontEndDateFormat;
var result = $filter('date')(date, format, null);
测试代码:
describe('DateForFrontEndFilter tests', function() {
beforeEach(function() {
module.apply('myApp');
inject(function($injector) {
filter = $injector.get('$filter')('DateForFrontEndFilter');
});
var testDate = "10/12/2017 10:32:12";
});
it('check date from DateForFrontEndFilter for date with format long', function() {
var ngOtherSettings = { FrontEndDateFormat: 'dd/MM/yyyy HH:mm:ss' };
var result = filter(ngOtherSettings, testDate);
expect(result).toBe(testDate + "sda");
});
return result;
};
}]);
...
使用Angular的非精简版本可以获得更好的错误消息。该错误表示找不到
DateForFrontEndFilter
。它是否位于与您正在测试的模块不同的模块中?是否已加载所有文件?感谢使用非精简版本帮助:)好提示:)