Экспресс-тесты API ExpressJS Не удается прочитать свойство 'адрес' из неопределенного - PullRequest
0 голосов
/ 16 марта 2019

Приложение будет запущено и работает нормально, поэтому я могу назвать свой API:

"dev": "env-cmd ./.env nodemon ./src/index.js",
"test": "env-cmd ./test.env jest --watch"

server.js:

// Loading deps
const app = express();
...
// Loading middlewares, routes etc.
...
module.exports = app;

index.js:

const app = require('./server');

const port = process.env.API_PORT || 5000;

app.listen(port, () => {
    console.log(`Server running on port ${port}`); // eslint-disable-line no-console
});

Приложение работает как надо. Когда я проверю API через supertest, я получаю сообщение об ошибке:

TypeError: Cannot read property 'address' of undefined

enter image description here

app.test.js

const request = require('supertest');
const { app } = require('../src/server');

test('Should render app information', (done) => {
    request(app)
    .get('http://localhost:5000/api/v1/info')
    .expect(200, done);
});

Сервер не работает, когда я буду тестировать. Я узнал об этом в некоторых уроках по теме тестирования API в Express.

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 16 марта 2019

на server.js: const express=require('express') есть? затем инициализация

const app = express();
...