2016-10-10 45 views
3

我們正在使用一個C#6.0項目,並使用Gi​​tub進行版本控制。我們還使用Travis來構建並使用它來檢查請求。在GitHub pull請求上顯示C#代碼覆蓋率?

有沒有辦法讓特拉維斯(或其他一些服務)來計算我們的代碼覆蓋率並獲得顯示在拉請求上的值?

+1

Travis是否需要運行測試或者您是否只需查找其他狀態?你有沒有想過一個單獨的集成https://github.com/integrations/feature/code-quality – osowskit

回答

2

我剛剛通過加入Greentube.Monitoring Github repositoryPull request

有用於多個工具的選擇,但我將描述的設置,我想出了:

我使用特拉維斯-CI和適用於CI的AppVeyor,但自OpenCover doesn't work on Linux or MacOS以來,我只能從AppVeyor生成封面數據。

有一點需要注意的是,OpenCover當前爲doesn't support portable pdbs,這是.NET Core項目的默認設置。出於這個原因,我創建了一個名爲的項目配置覆蓋範圍,其中我有完整pdbs

當您在本地正確生成覆蓋率報告後,您可以在Codecov上創建一個帳戶並鏈接您的存儲庫。您需要發送第一份報告以查看任何內容。

我寫了一個script,因此我可以在將覆蓋範圍發送到codecov之前在本地看到/調整覆蓋率報告。考慮到如果由於某種原因你不想使用codecov還有很多其他的選擇。

無論是在本地還是在AppVeyor上,您都需要指定Codecov標記才能上傳覆蓋數據。您可以通過將參數傳遞給CLI工具或設置環境變量CODECOV_TOKEN來使用它。 AppVeyor有一個環境部分,您可以在其中定義該部分(這就是爲什麼您在我的腳本中找不到硬編碼的任何標記)。

最後,我添加了codecov.yml項目狀態,它啓用了Github Status integration