1

我正在尝试测试将属性设置为 jQuery 对象的 Backbone 视图。除了设置为 jQuery 对象的属性之外,我可以测试视图中的所有属性。

我尝试在实例化视图之前加载一个夹具,但没有找到任何 dom 元素。当直接使用 jQuery 进行断言时,我也能够成功使用固定装置。我只是无法准备视图锁定所需的 dom。

在下面的示例中,规范失败,这些是我通过控制台检查时最终得到的值:

profileView.name  # => []
profileView.money # => []

为此类测试设置 dom 的正确方法是什么?这是完全错误的方法吗?这不是实际的代码,而是一个相当接近的例子。


骨干视图

App.Views.ProfileView = Backbone.View.extend
  name: $('#name')
  money: $('#money')

  ...

型材夹具

#name name
#money money

茉莉花规格

...

describe "ProfileView", ->
  it "money is present", ->
    loadFixtures("profile")
    profileView = new App.Views.ProfileView
    expect(profileView.money.length).toEqual(1)

...
4

1 回答 1

0

由于评论中提到的 mu 太短,这不是正确的方法。将 jQuery 对象分配移动到初始化、渲染或其他方法中更容易测试。

于 2013-11-02T18:36:31.350 回答