小编use*_*907的帖子

使用Jasmine使用模板测试骨干视图的最佳方法

我正在学习骨干,所以我正在构建一个简单的Backbone应用程序.我正在使用jasmine框架来测试我的骨干应用程序.

幸运的是,我的第一次茉莉花测试是针对Backbone View.这是一个使用haml-js模板的非常简单的视图.应用程序用户使用rails 3.1,所以整个东西都是通过sprockets在haml-sprockets gem的帮助下打包的,并且它可以工作.

但是当我用茉莉花测试时,我得到一个错误

TypeError:无法调用未定义的方法'backbone/templates/admin_personal_attribute_template'

我理解这是因为haml-js模板不存在.

通常,此模板的访问方式如下:

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

(即haml-sprockets gem编译使用haml-js并附加到window.JST).

我正在寻找在茉莉花中测试我的观点+模板的"最佳",即最不具破坏性且希望最简单的方法.

我找到了很多方法,但不确定什么是"最好的":

  1. 使用jasmine-headless-webkit.这将使扩展链轮,但松散的访问jasmine服务器的能力,如此简单,但一些灵活性的损失
  2. 使用japhr所描述的phantom.js(抱歉stackoverflow阻止我发布更多链接)将解决服务器端限制,但这似乎是一个非常新的未经测试的方法,因此灵活但不简单
  3. 按照此处的描述预先生成模板.这在概念上很简单,但需要一些维护 - 所以一些编码工作

假设我有一个包含~20个模型和~40个视图和模板的项目,那么最好的方法是什么?

backbone.js jasmine

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

backbone.js ×1

jasmine ×1