我正在使用Maven cobertura plugin检索我的单元测试代码覆盖,并通过命令行使用它:
mvn cobertura:cobertura
我想要做的是从命令行配置排除项。从官方文档中可以看出,我们可以配置一个 instrumentation user property
此Instrumentation Configuration对象具有以下结构:
<instrumentation>
<excludes>
<exclude>com/example/dullcode/**/*.class</exclude>
</excludes>
</instrumentation>
是否有任何方法只使用
形式的命令行来配置上述复杂对象-Dcobertura.instrumentation.excludes.<something>=com/example/dullcode/**/*.class
答案 0 :(得分:3)
不,您无法在命令行上定义复杂参数。但是你可以实现一个技巧来完成这项工作:定义你在命令行上覆盖的Maven属性。
您可以使用以下命令配置插件:
<instrumentation>
<excludes>
<exclude>${cobertura.instrumentation.exclude}</exclude>
</excludes>
</instrumentation>
然后,在命令行上,有
-Dcobertura.instrumentation.exclude=com/example/dullcode/**/*.class
将正确排除这些类。如果您没有指定系统属性,则不会排除任何内容。