Garantir que o Express App esteja em execução antes de cada teste de Mocha

Eu estou trabalhando no desenvolvimento de uma API REST usando ExpressJS, NodeJS, Mongoose e Mocha.

O problema é que eu tenho um arquivo app.coffee, que é responsável por configurar o ExpressJS e se conectar ao Mongoose. A maneira como eu configurei isso é que o Mongoose é conectado primeiro e, se isso acontecer, o aplicativo ExpressJS será iniciado.

A questão é que, ao configurar o Mocha, eu preciso ter certeza de que o ExpressJS App existente no app.coffee foi completamente iniciado com êxito, incluindo todo o código assíncrono antes de qualquer teste ser executado.

Para isso, eu criei um test_helper.coffee e coloquei o seguinte código nele, mas os testcases iniciam sua execução mesmo se o código no app.coffee não tiver completado sua execução completamente, o que realmente faz sentido:

before (done) ->
  require(__dirname + '/../src/app')
  done()

Resumindo, quero ter certeza de que o aplicativo ExpressJS tenha completado completamente sua configuração antes de qualquer teste ser executado.

Como eu posso fazer isso?

questionAnswers(6)

yourAnswerToTheQuestion