骨干视图在茉莉花中实例化不正确

时间:2012-04-26 14:36:49

标签: jasmine backbone-views

使用chrome开发工具。当我在应用程序中实例化一个视图时,我得到了这个......

new job.SearchView
SearchView
  $el: jQuery.fn.jQuery.init[1]
  cid: "view8"
  el: HTMLDivElement
  mbti: function (){ return fn.apply(me, arguments); }
  options: Object
  __proto__: ctor

从茉莉花中我得到以下(和规格失败)<​​/ p>

new job.SearchView
SearchView
  $el: jQuery.fn.jQuery.init[0]
  cid: "view17"
  el: undefined
  mbti: function (){ return fn.apply(me, arguments); }
  options: Object
  __proto__: ctor

为什么el:在jasmine中实例化时是不确定的?

SearchView定义如下......

jQuery ->
  class SearchView extends Backbone.View
    el: '#search'
    template: JST['resume']
    <snip>
  @job = if window.job then window.job else {}
  @job.SearchView = SearchView

和这样的规格......

describe 'Search View', ->
  it 'should be defined', ->
    expect(job.SearchView).toBeDefined()
  beforeEach ->
    @view = new job.SearchView()
  describe 'render', ->
    it 'should render the task', ->
      $el = @view.render().$el
      expect($el).toBeDefined()

1 个答案:

答案 0 :(得分:1)

在视图中指定el属性时,它将充当容器。在你的应用中,#search存在于DOM中。在茉莉花测试中它没有。

您可以使用jasmine-jquery创建沙盒容器,并在测试中构建视图时使用它们。

`