2

我正在编写一个具有以下茉莉花规格的 Rails 应用程序:

describe "buttons", ->

  beforeEach ->
    loadFixtures("foo.html")
    alert("beforeEach: " + $("tr.foo").length)

  describe ".hide_foo", ->
    alert(".hide-foo: " + $("tr.foo").length)
    ...
    expect($("tr.foo")).toBeHidden()

规范因错误而失败:

TypeError: Cannot call method 'expect' of null

所以我输入了警报。首先我们看到“.hide-foo: 0”,然后在我关闭后出现“beforeEach: 44”。很明显,错误是因为我们在expect加载夹具之前调用了,但是......为什么在每个示例之前都没有beforeEach执行该死?

我正在使用 jasminerice 来使用 Rails 资产管道来编译我的 Coffeescript。版本:

$ bundle show jasmine && bundle show jasminerice
/home/tmacdonald/.rvm/gems/ruby-1.9.2-p320/gems/jasmine-1.2.0
/home/tmacdonald/.rvm/gems/ruby-1.9.2-p320/gems/jasminerice-0.0.9

谢谢!

4

1 回答 1

6

describe块不应直接在其中包含测试逻辑。您应该将所有测试逻辑放在一个it块中。

describe ".hide_foo", ->
    it 'should hide the row', ->
        alert(".hide-foo: " + $("tr.foo").length)

        expect($("tr.foo")).toBeHidden()
于 2012-06-25T15:20:17.503 回答