我正在嘗試使用Jasmine測試一些backbone.js視圖(通過jasmine-headless-webkit)。除了我的haml-js模板無法在測試中訪問之外,一切運行良好。Jasmine測試運行期間找不到haml-js模板
在我看來,下面的代碼工作正常:
render: =>
html = JST['views/avia_view_template']()
$(@el).html(html)
...但是,當它運行的茉莉花規範我得到以下故障的一部分:
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
也許我只是採取了錯誤的方式在這裏......我應該用茉莉花存根&模擬出調用JST和jQuery?嚴格的單元測試方法表示,我應該在這種情況下缺少模板訪問權限並不是問題。
任何提示 - 無論是我的測試方法,還是特定的JST失敗,都將不勝感激。
非常感謝 - 這很好。對於遵循這些說明的任何人,只需要注意一點:在撰寫本文時,「asset_paths」設置是三天前添加的,因此請確保您使用的是最新鮮的jasmine-headless-webkit代碼。我沒有,而且我一直把頭撞到桌子上一會兒,直到我明白了。 –