NodeJs событие не получено в тесте - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь протестировать свое приложение express, и мне нужно убедиться, что приложение запущено перед выполнением любого теста. Поэтому я пытаюсь заставить приложение генерировать событие, когда оно будет готово, и ждать этого события в моем before(), но по какой-то причине я никогда не получаю событие и не получаю Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.. Что я делаю не так?

Индекс. js

const express = require('express')
const app = express()
const port = 3000

app.listen(port, function()  {
    console.log(`app listening on port ${port}!` )
    app.emit('appStarted')
})

module.exports = app

тест. js

const app = require('../index.js');

before(done => {
  console.log('BEFORE')
  app.on('appStarted', () => {
    done()
  })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...