0

各仕様を個別に実行すると、次のテストに合格します。それらを連続して実行すると、最初の仕様のみが合格します。

#= require spec_helper
#= require models/job
#= require ./fixtures/job

describe "Job", ->

  beforeEach (done) ->
    @job = App.Job.find(1)
    @job.on 'didLoad', -> done()

  it "returns property idName", ->
    expect( @job.get('idName') ).to.equal("#1 - first job")

  it "expects property idName to update if name changes", ->
    @job.set('name', 'new name')
    expect( @job.get('idName') ).to.equal("#1 - new name")

  it "expects property idName to update if originalId changes", ->
    @job.set('originalId', 7)
    expect( @job.get('idName') ).to.equal("#7 - first job")

コナチャが私に与えているエラーは次のとおりです。

Error: timeout of 2000ms exceeded at http://localhost:3500/assets/mocha.js:4001:14

誰にでも提案があります。ジャスミンを使うべきですか?

4

1 に答える 1

0

さて、私は解決策を持っています。各スペックの前にアプリが初期化されると思っていました。最初のテストの後でジョブがロードされているように見えるので、ジョブがロードされているかどうかを確認し、done関数を呼び出しています。

beforeEach (done) ->
  @job = App.Job.find(1)
  @job.on 'didLoad', -> done()

afterEach ->
  Ember.run ->
    App.reset()
于 2013-03-15T22:49:26.853 に答える