Coffeescript 使用茉莉花';s`beforeach`方法

Coffeescript 使用茉莉花';s`beforeach`方法,coffeescript,tdd,jasmine,Coffeescript,Tdd,Jasmine,我想让Jasmine的安装和拆卸方法适合我。 我一定是用错了,因为我无法在安装后让变量保持在范围内 不起作用: describe 'classes/model', -> beforeEach -> model = new Model() describe 'the basics', -> it 'extends Backbone.Model', -> expect(model).toBeInstanceOf Model # Fails.

我想让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', ->
  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'
工作。(但不使用设置便利性)


我是不是做错了什么事,在每次之前都会阻止它工作?

找到了。或许应该早点注意到:) 必须注意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

找到了。或许应该早点注意到:) 必须注意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