Вызов app.listen(3000)
блокирует завершение процесса.
Импортируйте объект app
без вызова app.listen(3000)
при выполнении тестов.
app.js
import express from 'express';
let app = express();
app.get('/', (req, res) => {
res.end('Done');
});
export default app;
test.js
import chaiHttp from 'chai-http';
import { describe, it } from 'mocha';
import app from './app';
chai.use(chaiHttp);
describe('Simple test', () => {
it('Should', async () => {
let response = await chai.request(app).get('/');
chai.expect(response).to.have.status(200);
});
});
В другом модуле импортируйте app
и запустите его, слушая, как обычно, ваш сервер.
main.js
import app from './app'
app.listen(3000)