私は、angularJS工場のジャスミンテストケースを作成するのが初めてです。 工場全体をテストしたいですが、getKeys
を取得できません。ここに私の工場があります。ジャスミン2.0ユニットテストfor angularjs工場
私の工場は次のとおりです。
'use strict';
var a11yModule = angular.module('TestModule', ['ui.bootstrap']);
a11yModule.factory('TestFacotry', ['$q', '$timeout', function ($q, $timeout) {
return {
getKeys: function() {
return {
"abc": 32,
"gpa": 33,
"end": 35
};
}
};
}])
マイユニット仕様は次のとおりです。
describe('modu testing', function() {
var TestFacotryMock, q, timeout;
beforeEach(module('TestModule', ['ui.bootstrap']));
beforeEach(inject(function (_$q_, _$timeout_, _TestFacotry_) {
q = _$q_;
timeout = _$timeout_;
TestFacotryMock = _TestFacotry_;
}));
it('Should ', function() {
//var output = TestFacotryMock.getKeys.something();
expect(typeof getKeys()).toBe('function');
});
});
エラーが
エラーです:インスタンス化に失敗しました:[modulerr $インジェクタ]モジュールTestModule: エラー:[$ injector:modulerr] エラー:[$ injector:nomod]モジュール 'ui.bootstrap'が利用できません。モジュールui.bootstrapのインスタンス化に失敗しました。モジュール名のスペルが間違っているか、モジュール名を読み込めませんでした。モジュールを登録する場合は、依存関係を2番目の引数として指定するようにしてください。
あなたは渡す必要はありません '[ 'ui.bootstrap']'しばらくテスト、ちょうど 'beforeEach(モジュール( 'TestModule'));' – tanmay
でも 'ui.bootstrap'を渡さなくても同じエラーが発生する – lucky
あなたのkarma-conf.jsファイルにui-bootstrapをファイルとして追加してください:[ 'bower_components/*/*/ui-bootstrap.js'] – ramanathan