Узел EADDRINUSE: адрес уже используется ::: 3000 при тестировании с использованием jest и supertest - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь проверить свои конечные точки API с помощью jest и supertest:

мой файл тестовых маршрутов:

const app = require('../../index') 
const request = require('supertest')


describe('test app endpoints', ()=>{
    test('index should return 200 code', async (done) =>{
        const response = await request(app).get('/')
        expect(response.statusCode).toBe(200)
        done()
    })

index. js:

const express = require('express')
const bodyParser = require('body-parser')
const app = express()

const port = 3000


app.set('view engine', 'ejs')
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));

app.use('/', require('./routes/conversions'))

module.exports = app.listen(port, (err) => {
    if (err) throw err
    console.log(`Server is running on port ${port}`)
})

Когда я запускаю этот тест, я получаю сообщение об ошибке занятого порта:

listen EADDRINUSE: address already in use :::3000

Как я могу это исправить и не блокировать мой порт для тестов?

1 Ответ

0 голосов
/ 22 марта 2020

Что-то еще на вашем компьютере использует порт 3000; это все. Просто установите переменную port на что-то другое; 8080 и 8000 - популярные варианты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...