首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jasmine中backbone视图实例化不正确

jasmine中backbone视图实例化不正确
EN

Stack Overflow用户
提问于 2012-04-26 22:36:49
回答 1查看 475关注 0票数 1

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

代码语言:javascript
复制
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

在使用jasmine时,我得到了以下信息(以及规范失败)

代码语言:javascript
复制
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 ...

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

像这样的规范...

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-27 05:05:26

当您在视图中指定el属性时,它将充当一个容器。在你的应用程序中,#search存在于DOM中。在jasmine测试中,它不会。

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

`

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10335665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档