我正在测试我的AngularJS代码,我遇到的问题是我找到的所有答案都无法修复。 我正在尝试测试一个看起来像这样的过滤器:
app.filter('capitalize', function(){
return function(val){
if( val && typeof val === 'string'){
return val.charAt(0).toUpperCase() + val.substr(1).replace('_', ' ');
}
};
});
我的app
定义为:
var app = angular.module('myApp', ["ui.router", "ui.bootstrap", "ngSanitize", "pascalprecht.translate", "angular-google-analytics",
"ngStorage", "jsonFormatter", "selectize", "toaster"]);
我的测试看起来像:
describe('Filters Unit Test Suite:', function() {
beforeEach(function() {
angular.mock.module('myApp');
});
describe('capitalize filter', function() {
var capitalizeFilter;
beforeEach(inject(function(_$filter_) {
capitalizeFilter = _$filter('capitalize');
}));
it('should capitalize the first letter of a string', function() {
expect(capitalizeFilter('hello')).toEqual('Hello');
});
});
});
此处的每段代码都来自不同的文件,分别是filters.js
,app.js
和fitler.test.js
。
我使用了这些文档here和AngularJs官方测试页面here。
我已经测试了几乎所有类似问题的响应,就像这里提到的那样,但似乎都没有。
非常感谢您的帮助。
如果您愿意,我可能会跳过回复,请在评论中添加链接。 我花了差不多三天的时间来寻找,在这里搜索stackoverflow的原因,并找到如何纠正它。那是我失去的太多时间,我觉得我要接近这一点,看看我错过了什么,这就是为什么我寻求你的帮助。
谢谢。
以防万一,这是我把文件放在我的业力配置文件中的方式:
files:[
'src/main/resources/assets/bower_components/angular/angular.js',
'src/main/resources/assets/bower_components/angular-ui-router/release/angular-ui-router.js',
'src/main/resources/assets/bower_components/ngstorage/ngStorage.js',
'src/main/resources/assets/bower_components/angular-mocks/angular-mocks.js',
'src/main/resources/assets/bower_components/jquery/dist/jquery.min.js',
'src/main/resources/assets/bower_components/bootstrap/dist/js/bootstrap.min.js',
'src/main/resources/assets/js/vendor/ui-bootstrap-tpls-1.2.4.min.js',
'src/main/resources/assets/bower_components/angular-sanitize/angular-sanitize.js',
'src/main/resources/assets/bower_components/highcharts/highcharts.js',
'src/main/resources/assets/bower_components/highcharts/highcharts-more.js',
'src/main/resources/assets/bower_components/angular-translate/angular-translate.js',
'src/main/resources/assets/bower_components/moment/min/moment.min.js',
'src/main/resources/assets/bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js',
'src/main/resources/assets/bower_components/angular-google-analytics/dist/angular-google-analytics.min.js',
'src/main/resources/assets/bower_components/json-formatter/dist/json-formatter.js',
'src/main/resources/assets/bower_components/selectize/dist/js/standalone/selectize.js',
'src/main/resources/assets/bower_components/angular-selectize2/dist/angular-selectize.js',
'src/main/resources/assets/bower_components/AngularJS-Toaster/toaster.min.js',
'src/main/resources/assets/js/angular/app.js',
'src/main/resources/assets/js/angular/filters.js',
'src/test/resources/assets/js/angular/filters.test.js'
]
答案 0 :(得分:0)
运行代码时出现的错误是: Here是工作小提琴。
我相信你没有添加angular-ui库。我添加了库,它工作正常。添加以下链接并再次尝试使用您的代码。
http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.10/angular-ui-router.min.js
答案 1 :(得分:0)
经过长时间的运行,我终于明白了为什么我遇到了我提到的错误。在你的答案@clever_bassi的帮助下,我回去了,发现AuthService
是一个本地进入我项目的模块。该服务是由我正在使用的开发人员之一定义的,我在错误的地方寻找它。这告诉我,我还有很长的路要走学习AngularJS的单页网站。