2012-01-30 75 views
9

我正在學習骨幹,因此我構建了一個簡單的Backbone應用程序。我正在使用茉莉花框架來測試我的骨幹應用程序。使用Jasmine模板測試骨幹視圖的最佳方法

幸運的是,我的第一個茉莉花測試是針對骨幹視圖。這是一個使用haml-js模板的非常簡單的視圖。應用用戶導軌3.1所以整個事情是通過鏈輪包裹在haml-sprockets寶石的幫助下,它的工作原理。

然而,當我與茉莉測試我得到一個錯誤

TypeError: Cannot call method 'backbone/templates/admin_personal_attribute_template' of undefined

我明白這是因爲HAML-JS模板不存在。

通常該模板被訪問這樣的:

$(this.el).html(window.JST["backbone/templates/admin_personal_attribute_template"]({pars:this.model.attributes})); 

(即HAML鏈輪寶石編譯使用HAML-js和附加到window.JST)。

我正在尋找'最好',即最不破壞性,並希望,簡單的方式來測試我的意見+模板在茉莉花。

我已經找到了一些方法來做到這一點,但不知道是什麼是「最好的」:

  1. 使用茉莉花無頭WebKit的。這將使鏈接,但鬆散的能力訪問茉莉服務器,這麼簡單,但一些靈活性損失
  2. 使用phantom.js由japhr desribed(抱歉stackoverflow阻止我發佈更多鏈接)將解決服務器端的限制,但這似乎是一種非常新穎且未經測試的方法,非常靈活但並非簡單
  3. 預先生成模板here。這在概念上很簡單,但需要一些維護 - 所以一些編碼工作

假設我有一個約20個模型和約40個視圖和模板的項目,最好的方法是什麼?

回答