Simplecov with docker



我们最近迁移了一个应用程序,我们必须对其进行docker和docker组合。

在没有docker的情况下,我们过去常常使用rspec spec运行测试,例如,在使用docker的时候,我们会使用做同样的事情

docker-compose run app rspec spec

现在,在旧的场景中,当我想要测试覆盖率的报告时,我会使用:

open coverage/index.html

但和docker一起尝试是行不通的。尝试docker-compose run app open coverage/index.html效果不佳。事实上,在我的项目下并没有一个叫做覆盖的文件夹。

我试着在网上左右搜索docker的简单cov的任何例子,但都找不到。任何关于如何使其发挥作用的提示都将不胜感激。

打开

您应该从本地文件夹打开coverage/index.html,而不是从容器文件夹打开。

当你说"事实上,在我的项目下并没有一个叫做覆盖的文件夹">,你说的是容器项目文件夹还是本地项目文件夹?

如果在容器上运行rspec spec命令后,容器上没有/coverage文件夹,请确保在其顶部的spec/rails_helper文件上启动Simplecov:

require 'simplecov'
SimpleCov.start

在容器上运行rspec spec后,应创建/coverage文件夹,并自动同步到本地项目文件夹,这样您就可以在浏览器上打开coverage/index.html文件。

如果它没有自动同步,您可以使用docker compose cp命令将其复制到本地文件夹:

docker compose cp app:/app_root_folder/coverage/index.html ./coverage/index.html

其中:

  • app是您的容器标签
  • app_root_folder是您的Dockerfile中的WORKDIR
  • ./coverage/index.html是本地计算机上的目标文件夹

在尝试从容器中复制/coverage文件夹之前,请确保已在本地目录中创建了该文件夹。

mkdir coverage

相关内容

  • 没有找到相关文章

最新更新