別のファイルのテンプレートを使用して、angular の 1 ディレクティブを単体テストしようとしています。jasmine と ng-html2js を使用して、HTML テンプレートを $templateCache に隠します。SystemJS を使用しないプロジェクトでは、次を使用できます。
beforeEach(module('MyStupidModule', 'templates'))
どこのテンプレート - 「carma.conf.js」にあります
preprocessors: {
'Content/templates/**/*.html' : ['ng-html2js']
},
ngHtml2JsPreprocessor:{
moduleName: 'templates'
},
そしてそれはうまく動作します。
しかし、SystemJS では、これらのモジュールに到達可能にするために、両方のモジュールをインスタンス化する必要があります。自分のモジュールをモックするのは簡単です。
...
mockAngularModule('MyStupidModule');
// angular.mock.module('MyStupidModule');
angular.mock.module('store', 'templates');
..
しかし、この「テンプレート」モジュールのインスタンス化をどこに置くことができますか? 今、それは投げます
エラー: [$injector:modulerr] 次の理由により、モジュール テンプレートのインスタンス化に失敗しました: エラー: [$injector:nomod] モジュール 'テンプレート' が利用できません!