【问题标题】:Using Jasmine's `beforeEach` method使用 Jasmine 的 `beforeEach` 方法
【发布时间】:2013-07-24 07:50:18
【问题描述】:

我正在尝试让 Jasmine 的设置和拆卸方法为我工作。 我一定是用错了,因为设置后我无法让变量留在范围内。

不起作用:

describe 'classes/model', ->
  beforeEach ->
    model = new Model()
  describe 'the basics', ->
    it 'extends Backbone.Model', ->
      expect(model).toBeInstanceOf Model # Fails. 'model is not defined'

我想也许设置必须在描述的范围内。但这也行不通:

describe 'classes/model', ->
  describe 'the basics', ->
    beforeEach ->
      model = new Model()
    it 'extends Backbone.Model', ->
      expect(model).toBeInstanceOf Model # Fails. 'model is not defined'

有效。 (但不使用设置方便)

describe 'classes/model', ->
  describe 'the basics', ->
    it 'extends Backbone.Model', ->
      model = new Model()
      expect(model).toBeInstanceOf Model

我是否做错了什么导致beforeEach 无法正常工作?

【问题讨论】:

    标签: coffeescript tdd jasmine


    【解决方案1】:

    找到了。可能应该早点注意到:) 必须注意 CoffeeScript 管理变量范围的方式才能完成这项工作。

    describe 'classes/model', ->
      model = null # get it in scope
      beforeEach ->
        model = new Model()
      describe 'the basics', ->
        it 'extends Backbone.Model', ->
          expect(model).toBeInstanceOf Model
    

    【讨论】:

      猜你喜欢
      • 2015-08-19
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 2012-05-18
      • 1970-01-01
      • 2020-05-26
      相关资源
      最近更新 更多