ちなみにgenerator-angularで作成したプロジェクト。
developmentやbuildではgrunt-angular-templatesを使っているが、テストには、karma-ng-html2js-preprocessorを使った。
インストール
npm install karma-ng-html2js-preprocessor --save-dev
karma.confに設定を追加
karma.conf.coffee
files: [
# ...省略...
"app/templates/*.html" #<- テンプレートファイルを追加
"test/mock/**/*.coffee"
"test/spec/**/*.coffee"
]
plugins: [
"karma-phantomjs-launcher"
"karma-jasmine"
"karma-coffee-preprocessor"
"karma-spec-reporter"
"karma-coverage"
"karma-ng-html2js-preprocessor" #<- 追加
]
preprocessors:
"app/templates/*.html": ["ng-html2js"] # <- 追加
"app/scripts/*.coffee": "coffee"
"app/scripts/*/**/*.coffee": "coverage"
"test/**/*.coffee": "coffee"
# 追加
ngHtml2JsPreprocessor:
stripPrefix: "app/"
moduleName: "test.templates" #<- 本番とは別に任意に設定した
あとはtemplateCacheのテンプレートを使っている部分のテストで beforeEach module "myApp", "test.templates"とか読みこめばOK.