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?