簡體   English   中英

Simplecov 與 docker

[英]Simplecov with docker

我們最近將我們必須的應用程序遷移到 docker 和 docker-compose。

在沒有 docker 的情況下,我們曾經使用rspec spec運行測試,例如,在使用 docker 時,我們會使用

docker-compose run app rspec spec

現在,在舊場景中,當我想要一份測試覆蓋率報告時,我會使用:

open coverage/index.html

不過,用 docker 試試這個是行不通的。 嘗試docker-compose run app open coverage/index.html也不起作用。 事實上,我的項目下沒有名為coverage 的文件夾。

我嘗試在網上左右查找任何帶有 docker 的 simple-cov 示例,但找不到。 任何有關如何使其工作的提示都將不勝感激。

打開

您應該從本地文件夾而不是容器文件夾中打開coverage/index.html

當您說“實際上我的項目下沒有名為coverage 的文件夾”時。 ,你說的是容器項目文件夾還是本地項目文件夾?

如果在容器上運行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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM