gpt4 book ai didi

backbone.js - 使用 Jasmine 模板测试 Backbone View 的最佳方法

转载 作者:行者123 更新时间:2023-12-03 23:29:28 25 4
gpt4 key购买 nike

我正在学习 Backbone ,因此我正在构建一个简单的Backbone应用程序。我正在使用jasmine框架来测试我的主干应用程序。

幸运的是,我的第一个 Jasmine 测试是针对Backbone View的。这是使用haml-js模板的非常简单的 View 。应用程序用户使用rails 3.1,因此可以在haml-sprockets gem的帮助下通过链轮打包整个程序,并且可以正常工作。

但是,当我用 Jasmine 测试时,我得到一个错误

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-sprockets gem编译器使用haml-js并附加到window.JST上)。

我正在寻找``最好''的方法,即破坏力最小,希望简单的方法来在 Jasmine 中测试我的 View 和模板。

我已经找到了很多方法来做到这一点,但是不确定什么是“最佳”方法:
  • 使用jasmine-headless-webkit。这将充分利用链轮,但是访问 Jasmine 服务器的能力较弱,因此简单但缺乏灵活性
  • 使用japhr所描述的phantom.js(抱歉,stackoverflow阻止了我发布更多链接)可以解决服务器端的限制,但这似乎是一个非常新颖且未经测试的方法,因此灵活但不简单
  • 将您的模板预先生成为here。从概念上讲这很简单,但是需要维护-因此需要一些编码工作

  • 假设我有一个约20个模型,约40个 View 和模板的项目,最好的方法是什么?

    最佳答案

    查看本文:Unit Testing Backbone Applications With Jasmine

    它有一些示例,如何为Backbone JS View 实现单元测试

    另外还有一本O'Reilly的书"Developing Backbone.js Applications",其中有一整章介绍了如何使用Jasmine和qUnit测试 View

    关于backbone.js - 使用 Jasmine 模板测试 Backbone View 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9070496/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com