我们最近迁移了一个应用程序,我们必须进行对接,和对接-合成。
如果没有docker,我们通常使用rspec spec运行测试,例如,在使用docker时,我们会使用
docker-compose run app rspec spec现在,在旧的场景中,当我想要一个测试覆盖率的报告时,我会使用:
open coverage/index.html不过,和码头工人一起尝试这个是行不通的。尝试docker-compose run app open coverage/index.html也不起作用。事实上,在“我的项目”下没有名为“覆盖率”的文件夹。
我试着在网上左右查找任何简单的对接者的例子,但都找不到。任何提示,如何使这一工作将是巨大的感激。
打开
发布于 2022-06-11 10:38:53
应该从本地文件夹打开coverage/index.html,而不是从容器文件夹打开。
当您说“实际上我的项目下没有名为覆盖率的文件夹”时,您指的是容器项目文件夹还是本地项目文件夹?
如果在容器/coverage命令上运行rspec spec命令后,容器上没有rspec spec文件夹,请确保在spec/rails_helper文件的最上面启动了Simplecov:
require 'simplecov'
SimpleCov.start在容器上运行rspec spec之后,应该创建/coverage文件夹,并将其自动同步到本地项目文件夹,以便在浏览器上打开coverage/index.html文件。
如果不自动同步,可以使用docker compose cp command将其复制到本地文件夹中:
docker compose cp app:/app_root_folder/coverage/index.html ./coverage/index.html其中:
app是您的容器,tagapp_root_folder是您的WORKDIR,来自您的Dockerfile./coverage/index.html是本地机器上的目标文件夹。在尝试从容器复制/coverage文件夹之前,请确保在本地目录中创建了该文件夹。
mkdir coveragehttps://stackoverflow.com/questions/71369453
复制相似问题