別のサービスに依存するフィルターを単体テストしようとしています。この問題に関する多くの回答を読みましたが、何も解決しませんでした。私はカルマ/ジャスミンを使用しています
次のようなconf
// Karma configuration
// Generated on Thu Nov 26 2015 07:47:24 GMT+0100 (Västeuropa, normaltid)
module.exports = function(config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['jasmine'
],
// list of files / patterns to load in the browser
files: [
'lib/angular.min.js',
'lib/angular-mocks.js',
'test.js',
'app/js/services/*.js',
'app/js/filters/*.js'
],
// list of files to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma- preprocessor
preprocessors: {
},
私のアプリケーションは次のとおりです
// filter
var app=angular.module('app.filter',[]);
app.filter("filterName",['serviceName',function(ServiceName){
return function(input1,input2)
{
//some code
}]);
// service
var app=angular.module('app.service',[]);
app.service("serviceName", [$log,$windows,$route',function($log,$windows,$route){
//some functions
}]);
テスト
describe('test filter with services dependencies',function()
{
beforeEach(module('app.service'));
beforeEach(module('app.filter'));
var FilterNAMe, ServiceNAMe ;
beforeEach(inject(function(_ServiceNAMe _,_FilterNAMe_) // i get error here
{
FilterNAMe = _FilterNAMe_;
ServiceNAMe= _ServiceNAMe_;
}));
it('',function()
{
//some test;
});
});
次のエラーが表示されます
error:[$injector:unpr] http://errors.angularjs.org/1.4.0-rc.2/ $injector/unpr?=%24serviceNameProvider
エラー: windows.inject.angular.mock.inject の宣言の場所