我正在嘗試爲我的Angular.js應用程序編寫單元測試,但我無法設法注入我需要的東西(它無法找到合適的提供者)。缺少注入測試(未知提供者)
有沒有人看到我錯過了什麼?
Firefox 21.0 (Linux) filter staticList should convert static list object into its display value FAILED
Error: Unknown provider: staticListProvider <- staticList in /path/to/my-app/public/third-party/angular/angular.js (line 2734)
createInjector/providerInjector<@/path/to/my-app/public/third-party/angular/angular.js:2734
[email protected]/path/to/my-app/public/third-party/angular/angular.js:2862
createInjector/instanceCache.$injector<@/path/to/my-app/public/third-party/angular/angular.js:2739
[email protected]/path/to/my-app/public/third-party/angular/angular.js:2862
[email protected]/path/to/my-app/public/third-party/angular/angular.js:2880
[email protected]/path/to/my-app/test/lib/angular/angular-mocks.js:1778
[email protected]/path/to/my-app/test/lib/angular/angular-mocks.js:1764
@/path/to/my-app/test/unit/filtersSpec.js:19
@/path/to/my-app/test/unit/filtersSpec.js:16
@/path/to/my-app/test/unit/filtersSpec.js:3
的應用:
angular.module('myApp', ['myAppFilters', 'ui.bootstrap', '$strap.directives']).
// Some other stuff
濾波器:
"use strict";
angular.module('myAppFilters', []).
filter('staticList', function() {
return function (listItem) {
if (!listItem) {
return '';
}
return listItem.value;
};
});
測試:
'use strict';
describe('filter', function() {
beforeEach(angular.module('myAppFilters'));
describe('staticList', function() {
it('should convert static list object into its display value',
inject(function (staticList) {
expect(undefined).toBe('');
expect({key: 'A', value: 'B'}).toBe('B');
}));
});
});
卡瑪配置:
basePath = '../';
files = [
JASMINE,
JASMINE_ADAPTER,
'public/third-party/jquery/*.js',
'public/third-party/angular/angular.js',
'public/third-party/angular/i18n/angular-*.js',
'public/third-party/moment/moment.min.js',
'public/third-party/moment/moment-*.js',
'public/js/**/*.js',
'test/lib/**/*.js',
'test/unit/**/*.js'
];
colors = true;
autoWatch = true;
browsers = ['Firefox'];
junitReporter = {
outputFile: 'test_out/unit.xml',
suite: 'unit'
};
如果有人希望看到完整的代碼,應用程序庫是在這裏:https://github.com/adericbourg/GestionCourrier
非常感謝,
阿爾
我錯過了那一點。非常感謝你! –
Thx!這應該在文檔中更清楚。 – Simon