热门以避免在Jest测试的调试过程中引发以下错误:
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),并且该端口已被父进程占用。
奇怪的是,此错误经常发生,但并非总是如此。有时上述命令实际上允许调试测试。
使用--runInBand
jest
选项。从文档:
--runInBand,-i
在当前进程中串行运行所有测试(而不是创建运行测试的子进程的工作程序池)。有时这对于调试很有用,但是这种用例很少见。[布尔值]
它只是防止Jest分叉。
node --harmony --debug-brk=5858 node_modules/.bin/jest --runInBand