2011-03-18 33 views
1

我使用Jenkins和Buckminster作爲CI的rcp應用程序,並且這種工作方式類似於一個魅力。我遇到的唯一問題是,buckminster emma任務爲檢出的工作區中的所有軟件包執行代碼覆蓋。 我想指定一個排除過濾器,因爲這是爲ant任務描述的,但沒有得到它的工作。 buckminster艾瑪幫助命令也沒有幫助我。我的工作區有幾個插件,單元測試是爲我自己的軟件包指定的。但是有一個插件包含我不希望emma考慮代碼覆蓋率的源文件,因爲這是一個外部軟件包。我的JUnittests也不包括這個包。Hudson/Jenkins:Buckminster emma:如何排除軟件包

我該如何做到這一點,排除這個包/類在一個插件?

實施例:

  • 插件A(外部)
  • 插件B(自己)
  • 插件C(含單元測試)我使用

的命令如下:

importtargetdefinition -A '${WORKSPACE}/de.plugin.site/plugin.target' 
import '${WORKSPACE}/de.plugin.site/site.cquery' 
build 
perform -D target.os=* -D target.ws=* -D target.arch=* de.plugin.site#site.p2 
perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 de.plugin.site#create.product.zip 

emma -l '/de.plugin.test/AllBuckminsterTests.launch' -o '${WORKSPACE}output/junit_result.xml' --xml '${WORKSPACE}/output/coverage_report.xml' --flatXML 

`

我嘗試了參數--define 'filter=-de.external.*'在buckminster艾瑪幫助中給出但沒有成功。

任何幫助將是偉大的!

回答

0

您是否在Eclipse的Buckminster論壇中提過這個問題?

+0

不,還沒有。也會試試這個。 – Andreas 2011-03-23 17:30:49

0

這是另一件不起作用的東西,不幸的是(對我來說)。使用EclEmma插件或手動 ,添加以下的推出配置:

<listAttribute key="com.mountainminds.eclemma.core.SCOPE_IDS"> 
<listEntry value="=project1/src"/> 
<listEntry value="=project2/gen"/> 
<listEntry value="=project2/src"/> 
</listAttribute> 

這適用於交互式艾瑪(在Eclipse),但巴基似乎忽略它。

0

啓動文件可以是標準啓動文件,但您可能希望使用EclEmma IDE工具創建特定於emma的啓動配置,因爲這使您可以控制覆蓋率檢測中要包括哪些類和包。

將您的測試類放入一個單獨的測試源文件夾中。

0

您必須使用Jenkins/Hudson Jacoco插件設置排除/包含過濾器;如果我沒有記錯的話,使用EclEmma UI插入的啓動配置中的條目會被Buckminster(您應該看到,如果您生成html輸出)得到遵守,但是如果您希望Jacoco在CI中報告,則需要在相應配置中配置排除/包含構建後行動。順便說一下,Jacoco插件現在只能與.exec文件一起工作,所以您需要使用-exec運行'emma'命令。

相關問題