Javascript 测试进程在jest中并行运行时终止-“;工作进程意外退出&引用;

Javascript 测试进程在jest中并行运行时终止-“;工作进程意外退出&引用;,javascript,node.js,jestjs,Javascript,Node.js,Jestjs,我的jest测试在jest中并行运行时失败 当我试着跑的时候 jest 从我的项目根目录中,我得到以下错误,测试过程终止 “工作进程意外退出!” 我正在使用jest 19.0.2和节点6.9.4。我还尝试了node 7.7.2和jest 19.0的其他组合,但也没有成功 请注意,当我使用 jest --runInBand 我的测试很好。虽然由于它们不是并行运行,它们的运行速度较慢,但这并不理想 我的测试为每个新测试启动相同的服务器,因此并行运行可能意味着多个测试试图在服务器已经运行的端口

我的jest测试在jest中并行运行时失败

当我试着跑的时候

jest 
从我的项目根目录中,我得到以下错误,测试过程终止

“工作进程意外退出!”

我正在使用jest 19.0.2和节点6.9.4。我还尝试了node 7.7.2和jest 19.0的其他组合,但也没有成功

请注意,当我使用

jest --runInBand
我的测试很好。虽然由于它们不是并行运行,它们的运行速度较慢,但这并不理想

我的测试为每个新测试启动相同的服务器,因此并行运行可能意味着多个测试试图在服务器已经运行的端口上启动服务器

这是我的package.json:

{
  "name": "app",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "autoprefixer": "6.5.1",
    "babel-core": "6.17.0",
    "babel-eslint": "7.1.1",
    "babel-jest": "17.0.2",
    "babel-loader": "6.2.7",
    "babel-preset-react-app": "^2.0.1",
    "case-sensitive-paths-webpack-plugin": "1.1.4",
    "chai": "^3.5.0",
    "chai-as-promised": "^6.0.0",
    "chalk": "1.1.3",
    "connect-history-api-fallback": "1.3.0",
    "cross-spawn": "4.0.2",
    "css-loader": "0.26.0",
    "detect-port": "1.0.1",
    "dotenv": "2.0.0",
    "eslint": "3.8.1",
    "eslint-config-react-app": "^0.5.0",
    "eslint-loader": "1.6.0",
    "eslint-plugin-flowtype": "2.21.0",
    "eslint-plugin-import": "2.0.1",
    "eslint-plugin-jsx-a11y": "2.2.3",
    "eslint-plugin-react": "6.4.1",
    "extract-text-webpack-plugin": "1.0.1",
    "file-loader": "0.9.0",
    "filesize": "3.3.0",
    "fs-extra": "0.30.0",
    "gzip-size": "3.0.0",
    "html-webpack-plugin": "2.24.0",
    "http-proxy-middleware": "0.17.2",
    "jest": "^19.0.2",
    "jest-css-modules": "^1.1.0",
    "json-loader": "0.5.4",
    "object-assign": "4.1.0",
    "path-exists": "2.1.0",
    "postcss-loader": "1.0.0",
    "promise": "7.1.1",
    "react-dev-utils": "^0.4.2",
    "recursive-readdir": "2.1.0",
    "redux-mock-store": "^1.2.2",
    "sinon": "^1.17.7",
    "strip-ansi": "3.0.1",
    "style-loader": "0.13.1",
    "supertest": "^3.0.0",
    "url-loader": "0.5.7",
    "webpack": "1.14.0",
    "webpack-dev-server": "1.16.2",
    "webpack-manifest-plugin": "1.1.0",
    "whatwg-fetch": "1.0.0"
  },
  "dependencies": {
    "axios": "^0.15.3",
    "bcrypt-nodejs": "0.0.3",
    "body-parser": "^1.16.0",
    "cors": "^2.8.1",
    "eventemitter2": "^3.0.1",
    "express": "^4.14.0",
    "jwt-simple": "^0.5.1",
    "mocha": "^3.2.0",
    "mongoose": "^4.7.8",
    "morgan": "^1.7.0",
    "nodemon": "^1.11.0",
    "passport": "^0.3.2",
    "passport-jwt": "^2.2.1",
    "passport-local": "^1.0.0",
    "react": "^15.4.2",
    "react-dom": "^15.4.2",
    "react-redux": "^5.0.2",
    "react-router": "^3.0.2",
    "redux": "^3.6.0",
    "redux-devtools-extension": "^2.13.0",
    "redux-form": "^5.3.3",
    "redux-socket.io": "^1.3.1",
    "redux-thunk": "^2.2.0",
    "socket.io-client": "^1.7.3",
    "socketio-auth": "^0.1.0"
  },
  "scripts": {
    "start": "node scripts/start.js",
    "build": "node scripts/build.js",
    "test": "jest --runInBand"
  },
  "jest": {
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}"
    ],
    "setupFiles": [
      "<rootDir>/config/polyfills.js"
    ],
    "testPathIgnorePatterns": [
      "<rootDir>[/\\\\](build|docs|node_modules)[/\\\\]"
    ],
    "testEnvironment": "jest-environment-jsdom",
    "testURL": "http://localhost",
    "transform": {
      "^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest",
      "^.+\\.css$": "<rootDir>/node_modules/jest-css-modules"
    },
    "transformIgnorePatterns": [
      "[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"
    ],
    "verbose": true,
    "moduleNameMapper": {
      "^react-native$": "react-native-web"
    }
  },
  "babel": {
    "presets": [
      "react-app"
    ]
  },
  "eslintConfig": {
    "extends": "react-app"
  }
}
{
“名称”:“应用程序”,
“版本”:“0.1.0”,
“私人”:没错,
“依赖性”:{
“自动刷新器”:“6.5.1”,
“巴别塔核心”:“6.17.0”,
“babel eslint”:“7.1.1”,
《巴别塔笑话》:“17.0.2”,
“巴别塔装载机”:“6.2.7”,
“巴别塔预设反应应用程序”:“^2.0.1”,
“区分大小写的路径网页包插件”:“1.1.4”,
“柴”:“^3.5.0”,
“承诺的柴”:“^6.0.0”,
“粉笔”:“1.1.3”,
“连接历史api回退”:“1.3.0”,
“交叉繁殖”:“4.0.2”,
“css加载器”:“0.26.0”,
“检测端口”:“1.0.1”,
“dotenv”:“2.0.0”,
“eslint”:“3.8.1”,
“eslint配置反应应用程序”:“^0.5.0”,
“eslint加载器”:“1.6.0”,
“eslint插件流类型”:“2.21.0”,
“eslint插件导入”:“2.0.1”,
“eslint-plugin-jsx-a11y”:“2.2.3”,
“eslint插件反应”:“6.4.1”,
“提取文本网页包插件”:“1.0.1”,
“文件加载器”:“0.9.0”,
“文件大小”:“3.3.0”,
“fs额外”:“0.30.0”,
“gzip大小”:“3.0.0”,
“html网页包插件”:“2.24.0”,
“http代理中间件”:“0.17.2”,
“笑话”:“^19.0.2”,
“jest css模块”:“^1.1.0”,
“json加载程序”:“0.5.4”,
“对象分配”:“4.1.0”,
“路径存在”:“2.1.0”,
“postcss加载器”:“1.0.0”,
“承诺”:“7.1.1”,
“反应开发工具”:“^0.4.2”,
“递归readdir”:“2.1.0”,
“redux模拟商店”:“^1.2.2”,
“信农”:“^1.17.7”,
“带ansi”:“3.0.1”,
“样式加载器”:“0.13.1”,
“超级测试”:“^3.0.0”,
“url加载器”:“0.5.7”,
“网页包”:“1.14.0”,
“网页包开发服务器”:“1.16.2”,
“网页包清单插件”:“1.1.0”,
“whatwg fetch”:“1.0.0”
},
“依赖项”:{
“axios”:“^0.15.3”,
“bcrypt节点”:“0.0.3”,
“正文分析器”:“^1.16.0”,
“cors”:“^2.8.1”,
“eventemitter2”:“^3.0.1”,
“express”:“^4.14.0”,
“jwt简单”:“^0.5.1”,
“摩卡”:“^3.2.0”,
“猫鼬”:“^4.7.8”,
“摩根”:“^1.7.0”,
“nodemon”:“^1.11.0”,
“passport”:“^0.3.2”,
“护照jwt”:“^2.2.1”,
“本地护照”:“^1.0.0”,
“反应”:“^15.4.2”,
“react dom”:“^15.4.2”,
“react redux”:“^5.0.2”,
“反应路由器”:“^3.0.2”,
“redux”:“^3.6.0”,
“redux开发工具扩展”:“^2.13.0”,
“redux表单”:“^5.3.3”,
“redux socket.io”:“^1.3.1”,
“redux thunk”:“^2.2.0”,
“socket.io客户端”:“^1.7.3”,
“socketio授权”:“^0.1.0”
},
“脚本”:{
“开始”:“节点脚本/start.js”,
“build”:“节点脚本/build.js”,
“测试”:“笑话——runInBand”
},
“笑话”:{
“CollectionCoverage from”:[
src/***.{js,jsx}
],
“设置文件”:[
“/config/polyfills.js”
],
“testPathIgnorePatterns”:[
“[/\\\](生成文档节点模块)[/\\\\]”
],
“测试环境”:“jest environment jsdom”,
“testURL”:”http://localhost",
“转变”:{
“^.+\.(js|jsx)$”:“/node\u modules/babel jest”,
“^.+\.css$”:“/node\u modules/jest css modules”
},
“transformIgnorePatterns”:[
“[/\\\\]节点单元模块[/\\\].+\\.(js | jsx)$”
],
“详细”:正确,
“moduleNameMapper”:{
“^react native$”:“react native web”
}
},
“巴别塔”:{
“预设”:[
“反应应用程序”
]
},
“eslintConfig”:{
“扩展”:“反应应用程序”
}
}

尝试将此标志添加到jest CLI命令:

jest --env=jsdom --runInBand
来自Jest API文档