Testing 哈德森/詹金斯:巴克敏斯特艾玛:如何排除包裹

Testing 哈德森/詹金斯:巴克敏斯特艾玛:如何排除包裹,testing,code-coverage,jenkins,emma,buckminster,Testing,Code Coverage,Jenkins,Emma,Buckminster,我使用Jenkins和Buckminster作为CI的rcp应用程序,这就像一个charme。我唯一的问题是buckminster emma任务对签出工作区中的所有包进行代码覆盖。 我想指定一个排除过滤器,因为这是为ant任务描述的,但没有让它工作。 巴克敏斯特艾玛帮助司令部也帮不了我。我的工作区中有几个插件,单元测试是为我自己的包指定的。但有一个插件包含源文件,我不希望emma在代码覆盖率方面考虑到,因为这是一个外部包。我的JUnittests也不包括这个包 如何在一个插件中排除这个包/类 例

我使用Jenkins和Buckminster作为CI的rcp应用程序,这就像一个charme。我唯一的问题是buckminster emma任务对签出工作区中的所有包进行代码覆盖。 我想指定一个排除过滤器,因为这是为ant任务描述的,但没有让它工作。 巴克敏斯特艾玛帮助司令部也帮不了我。我的工作区中有几个插件,单元测试是为我自己的包指定的。但有一个插件包含源文件,我不希望emma在代码覆盖率方面考虑到,因为这是一个外部包。我的JUnittests也不包括这个包

如何在一个插件中排除这个包/类

例如:

插入一个外部插件 插件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
`

我尝试了buckminster emma帮助中给出的参数-define'filter=-de.external.*,但没有成功


任何帮助都会很好

你在Eclipse的巴克明斯特论坛上问过这个问题吗?

还有一件事也不管用,对我来说很不幸。 使用EclEmma插件或手动将以下内容添加到启动配置中:

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

这适用于Eclipse中的交互式Emma,但Bucky似乎忽略了它。

启动文件可以是标准启动文件,但您可能希望使用ECLEMA IDE工具创建特定于Emma的启动配置,因为这使您能够控制覆盖率工具中包含的类和包


将测试类放在单独的测试源文件夹中。

必须使用Jenkins/Hudson-Jacoco插件设置排除/包含过滤器;如果我没记错的话,Buckminster尊重使用EclEmma UI插入的启动配置中的条目。您应该看到,如果生成html输出,但是如果希望在CI中使用Jacoco报告,则需要在相应的生成后操作中配置排除/包含。顺便说一句,Jacoco插件现在只适用于.exec文件,所以您需要使用-exec运行'emma'命令