在 docker 容器中使用 jest 运行节点测试时出错

时间:2020-12-26 11:08:30

标签: node.js docker docker-compose jestjs dockerfile

我正在尝试使用 jest 在 docker 容器中的节点应用程序上运行一系列单元测试。

我正在尝试使用 npm test 命令运行这些测试,并且在脚本部分的 package.json 文件中,我有以下配置:

"scripts": {
    "test": "jest --watchAll --verbose"
  },

当我在 docker 之外的本地机器上运行此命令时,测试运行成功,但是,当我尝试在 docker 中运行相同的命令时,我收到一个奇怪的错误:

TypeError: (0 , (_jestValidate || _load_jestValidate(...)).validateCLIOptions) is not a function
    at buildArgv (/usr/src/app/node_modules/jest-cli/build/cli/index.js:233:66)
    at Object.<anonymous> (/usr/src/app/node_modules/jest-cli/build/cli/index.js:11:20)
    at Generator.next (<anonymous>)
    at step (/usr/src/app/node_modules/jest-cli/build/cli/index.js:158:191)
    at /usr/src/app/node_modules/jest-cli/build/cli/index.js:158:437
    at new Promise (<anonymous>)
    at Object.<anonymous> (/usr/src/app/node_modules/jest-cli/build/cli/index.js:158:99)
    at Object.run (/usr/src/app/node_modules/jest-cli/build/cli/index.js:30:17)
    at Object.<anonymous> (/usr/src/app/node_modules/jest-cli/bin/jest.js:16:27)
    at Module._compile (node:internal/modules/cjs/loader:1102:14)
npm ERR! code 1
npm ERR! path /usr/src/app
npm ERR! command failed
npm ERR! command sh -c jest --watchAll --verbose

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-12-26T10_49_00_358Z-debug.log

我尝试使用 RUN npm test

docker-compose.yaml 文件和 dockerfile 中运行这些测试

我在开发依赖项部分的 package.json 中配置了 jestjest-cli

  "devDependencies": {
    "jest": "22.4.4",
    "jest-cli": "22.4.4",
    "supertest": "^3.0.0"
  }

我错过了什么吗?

0 个答案:

没有答案