Jasmineを使用して(jasmine-headless-webkit経由で)いくつかのbackbone.jsビューをテストしようとしています。テスト中にhaml-jsテンプレートにアクセスできないことを除いて、すべてが正常に機能しています。
私の見解では、次のコードは正常に機能します。
render: =>
html = JST['views/avia_view_template']()
$(@el).html(html)
...しかし、Jasmine仕様の一部として実行すると、次のエラーが発生します。
ReferenceError: Can't find variable: JST in /home/duncan/avia/app/assets/javascripts/views/avia_view.js.coffee
で何か間違ったことをしているのではないかと思いjasmine.yml
ます。テンプレートファイルを明示的に含めましたが、それでも失敗します。
src_files:
- "vendor/**/*.{js,coffee}"
- "lib/**/*.{js,coffee}"
- app/assets/javascripts/application.js
- app/assets/javascripts/avia.js
- app/assets/javascripts/jquery-1.6.4.js
- app/assets/javascripts/underscore.js
- app/assets/javascripts/backbone.js
- app/assets/javascripts/jquery.jqGrid.min.js
- app/assets/javascripts/views/avia_view_template.jst.hamljs
- app/assets/javascripts/views/avia_view.js.coffee
おそらく私はここで間違ったアプローチを取っているだけです...Jasmineを使用してJSTとjQueryへの呼び出しをスタブ&モックアウトする必要がありますか?厳密に単体テストのアプローチでは、私がすべきだと言っています。その場合、テンプレートへのアクセスがないことは問題ではありません。
テストへの私のアプローチ、または特定のJSTの失敗に関するヒントは、大歓迎です。