使用Jasmine测试Backbone视图与模板的最佳方法

9
我正在学习backbone,因此正在构建一个简单的Backbone应用程序。我正在使用jasmine框架测试我的backbone应用程序。
幸运的是,我的第一个jasmine测试是针对Backbone View的。这是一个非常简单的视图,使用haml-js模板。应用程序使用rails 3.1,因此整个应用程序通过haml-sprockets gem和sprockets打包,它可以工作。
但是,当我使用jasmine进行测试时,会出现错误:
“TypeError:无法调用未定义的方法'backbone/templates/admin_personal_attribute_template'”
我理解这是因为缺少haml-js模板。
通常,可以像这样访问此模板:
$(this.el).html(window.JST["backbone/templates/admin_personal_attribute_template"]({pars:this.model.attributes}));

(即 haml-sprockets gem 编译使用 haml-js 并添加到 window.JST)。
我正在寻找“最佳”方法,即最少干扰且希望简单的方法来在 jasmine 中测试我的视图+模板。
我已经找到了一些方法来做到这一点,但不确定什么是“最佳”的:
  1. 使用 jasmine-headless-webkit。这将利用 sprockets,但失去访问 jasmine 服务器的能力,因此简单但某些灵活性的损失
  2. 使用 phantom.js,如 japhr 所述(抱歉,stackoverflow 阻止我发布更多链接),将解决服务器端限制,但这似乎是一种非常新的和未经测试的方法,因此灵活但不简单
  3. 预先生成您的模板,如here所述。这在概念上很简单,但需要一些维护 - 因此需要一些编程工作
假设我有一个包含约 20 个模型和约 40 个视图和模板的项目,最好的方法是什么?
2个回答

3

第一个链接已更改为:https://github.com/addyosmani/backbone-fundamentals/blob/gh-pages/chapters/13-unit-testing.md - ylerjen

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接