小编mdb*_*blr的帖子

在容器中运行安装测试后,伊斯坦布尔覆盖率未知

我正在尝试为在 docker 容器中运行的单元测试设置覆盖范围。但是,覆盖率报告无法在容器内按预期生成。但是,当命令在容器外部(在 Mac OSX 和 CentOS 上)运行时,它们会成功生成。

我将代码库安装到图像中预先存在的路径。

该图像基于节点:8.11.4
karma v3.1.4
karma-coverage v1.1.2
karma-coverage-istanbul-reporter v2.0.4
karma-webpack v4.0.0-rc.5
istanbul-instrumenter-loader v.3.0.1 。

尝试梳理问题:

  • __dirname在 karma.conf.js 中将basePath 设置为
  • path.join使用 karma.conf.js 和 webpack 使用的入口点规范所有路径。
  • 验证源是否已捆绑。
  • 在 Mac OSX 和 CentOS 上的容器外部运行(报告成功)
  • 将仪器的 debug 设置为 true(无错误)
  • 从容器内部重新安装已安装的node_modules
  • 使用coverageistanbul-coverage记者。
  • 关闭 Chrome 沙盒 v72.0.3626.81 (headless)
  • 在本地和詹金斯运行(结果相同)
  • 删除-u $(id -u):$(id -g)并没有什么区别

您想看到什么代码?

docker run --privileged \
-u $(id -u):$(id -g) \
--mount type=bind,source=$(pwd),dst=/home/node/test/ \
-it $DOCKER_IMAGE \
/bin/bash -c …
Run Code Online (Sandbox Code Playgroud)

ubuntu node.js karma-runner docker istanbul

6
推荐指数
1
解决办法
1980
查看次数

标签 统计

docker ×1

istanbul ×1

karma-runner ×1

node.js ×1

ubuntu ×1