2014-05-14 80 views

回答

4

到插件的輸入是:

  • XML中的覆蓋率報告
  • 源代碼

要使用插件來創建一個覆蓋報告:

  1. 將Cobertura安裝到Jenkins。
  2. 使用後期構建創建Jenkins作業以生成Cobertura報告。在這一步中,您可以告訴它在Jenkins工作區的哪個位置加載覆蓋報告(通常名爲coverage.xml)。

之前運行詹金斯工作 覆蓋報告以某種方式創建(通常由某種形式的構建腳本)。該報告通常由大多數人的構建腳本命名爲coverage.xml,並放置在Jenkin的作業工作區中。

當運行詹金斯工作

當詹金斯作業運行,該插件的Cobertura將讀取coverage.xml和使用元素來定位的源代碼。該插件將源代碼複製到位於:<Jenkins home>/jobs/<Jenkins job name>/<Cobertura>的緩存中。

運行詹金斯作業後

通過導航到建造它的詹金斯作業閱讀覆蓋報告。如果在運行Jenkins作業期間複製源文件是成功的,則可以深入查看源代碼並查看測試運行所涵蓋的行。如果您看不到源代碼級代碼覆蓋範圍:

  1. 檢查cobertura緩存以查看代碼是否存在。
  2. 檢查緩存中的權限以查看Jenkins服務器進程是否擁有該目錄,並具有對該目錄的讀,寫,執行權限。
  3. 檢查cobertura.xml文件並選擇一個元素,並檢查它的「filename」屬性,並查看它的路徑是否將作爲Cobertura緩存根目錄的相對路徑。

如果緩存中有舊信息,請刪除緩存目錄中的所有內容,然後重新運行Jenkins作業。

+0

+1。尼斯綜合答案 –

+0

我只是想將cobertura.xml報告轉換爲html報告。我一直在看CoberturaPublisher.java並運行下面的代碼: SourceCodePainter painter = new SourceCodePainter(paintedSourcesPath,sourcePaths,result.getPaintedSources(),listener,getSourceEncoding()); moduleRoot.act(painter); 不幸的是,它不會生成報告。你知道使用哪部分代碼生成報告嗎? – CrazyDoggg

+0

對不起雷米,我不知道。 –