$ cookieStoreモジュールを使用するサービスを提供しています。それは正常に動作しますが、ユニットテストが中断したときにエラーが発生します: "$ cookieStoreProvider < - $ cookieStore < - filtersService"。不明なプロバイダCookieStore
サービスは、次のようになります。
serviceModule.factory('filtersService', ['$rootScope', '$location', '$cookieStore', function($rootScope, $location, $cookieStore){
return {
getFilters: function(){...}
}
とユニットテストサービスは、次のようになります。私はカルマのテストファイルに角度-クッキーが含まれている
describe('filtersService tests', function(){
var filtersService;
beforeEach(module('App.services'));
beforeEach(inject(function(filtersService, urlService, $location){
filtersService = filtersService;
urlService = urlService;
}));
it('test something', inject(function(filtersService, $location){
filtersService.getFilters();
expect(...something...)
}));
});
。
実行時にコードが機能するが、unittestsが失敗する理由は何ですか?
更新:
Karma Config File:
// Karma configuration
// Generated on Sun May 12 2013 16:57:21 GMT+0200 (CEST)
// base path, that will be used to resolve files and exclude
basePath = '../';
// list of files/patterns to load in the browser
files = [
JASMINE,
JASMINE_ADAPTER,
'test/karma/jquery-1.9.1.min.js',
'app/assets/javascripts/sugar-1.3.9.min.js',
'app/assets/javascripts/angular.js',
'app/assets/javascripts/angular-*.js',
'app/assets/javascripts/ui-bootstrap-tpls-0.4.0.min.js',
'app/assets/javascripts/services.js',
'test/karma/lib/angular/angular-mocks.js',
'test/karma/unit/*/*.js'
];
// list of files to exclude
exclude = [
];
// test results reporter to use
// possible values: 'dots', 'progress', 'junit'
reporters = ['progress'];
// web server port
port = 9876;
// cli runner port
runnerPort = 9100;
// enable/disable colors in the output (reporters and logs)
colors = true;
// level of logging
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel = LOG_INFO;
// enable/disable watching file and executing tests whenever any file changes
autoWatch = true;
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
browsers = ['Chrome'];
// If browser does not capture in given timeout [ms], kill it
captureTimeout = 60000;
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun = false;
あなたはカルマの設定ファイルを表示することができますか? – Blackhole
@Blackholeもちろん、今追加されています。 – Dofs
あなたは 'files'を配列にcookies.jsファイルを含める必要はありませんか?あなたは、index.htmlの中で行うと同じように: '<スクリプトSRC = "http://code.angularjs.org/1.0.0rc10/angular-cookies-1.0.0rc10.js">' –