0
describe 'TheObject', ->
  before ->
    console.log 'loading text'
    fs.readFile('../data/data.json', 'utf8', (err, data) ->
      text = data
    )
  describe 'simple', ->
    it 'should pass a simple test', ->
      b = "1"
      b.should.equal "1" 

beforeアクションで読み取られたファイルが完了するまで、テストが実行されないようにしたいと思います。しかし、これはここでは非同期の世界なので、期待どおりに動作していると思います。他のすべてのテストをなんとかしてコールバックに入れることはできますか?readFileを強制的にブロックすることはできますか?

4

1 に答える 1

1

非同期の場合、関数は処理の完了時に呼び出すコールバックパラメーターをbefore受け入れる必要があります。done

describe 'TheObject', ->
  before (done) ->
    console.log 'loading text'
    fs.readFile('../data/data.json', 'utf8', (err, data) ->
      text = data
      done()
    )
于 2013-01-14T19:45:08.600 に答える