2017-01-19 6 views
2

Hot, чтобы избежать следующих ошибок, чтобы быть забросить во время отладки Jest тестов:EADDRINUSE 127.0.0.1:5858 во время тестовой отладки шутки

Error: listen EADDRINUSE 127.0.0.1:5858 
    at Object.exports._errnoException (util.js:1022:11) 
    at exports._exceptionWithHostPort (util.js:1045:20) 
    at Agent.Server._listen2 (net.js:1262:14) 
    at listen (net.js:1298:10) 
    at doListening (net.js:1397:7) 
    at _combinedTickCallback (internal/process/next_tick.js:77:11) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

Я бег моих тестов с использованием

node --harmony --debug-brk=5858 node_modules/.bin/jest 

Проблема заключается в том, что Jest открывает новый процесс для запуска тестов, и новый процесс пытается привязать к тому же порту отладки (5858 в этом случае) в качестве родительского процесса, и порт уже занят родительским процессом.

Странно, что эта ошибка происходит часто, но не всегда. Иногда команда выше позволяла отлаживать тесты.

+0

попробовать с командой ниже, но все еще получаю ту же ошибку «слушать EADDRINUSE ::: 5858» узел --debug node_modules/Шутка/бен/jest.js --runInBain – user1144774

ответ

2

--runInBandjest опция. Из документации:

--runInBand, -i
Выполнить все тесты последовательно в текущем процессе (а не создание уборщицы пул ребенка процессов, которые проходят испытание). Это иногда полезно для отладки, но такие варианты использования - довольно редко. [boolean]

Это просто предотвращает размножение Jest.

node --harmony --debug-brk=5858 node_modules/.bin/jest --runInBain 
+2

Черни хотел сказать '- runInBand' не '--runInBain' – Yahkob

+0

@Yahkob исправлено, спасибо – czerny