Maven可以将逗号分隔的文件列表转换为多个<file>
元素吗?我想通过多个文件将一个arg传递给我的套件,如下所示:
-DngFiles=testng1.xml,testng2.xml
我找到了一个定义多个套件文件的插件示例。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<file>src/test/resources/testng1.xml</file>
<file>src/test/resources/testng2.xml</file>
</suiteXmlFiles>
</configuration>
</plugin>
我希望,鉴于上述情况,这样的事情可能会成为可能吗?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<files>${ngFiles}</files>
</suiteXmlFiles>
</configuration>
</plugin>
在我看来,除非通过修改Surefire插件本身的行为,否则可能无法做到这一点?是否没有可以做我想做的Maven插件?
答案 0 :(得分:2)
Generally speaking, Maven can't do this automatically。插件是否支持这样的配置。
在这种情况下,suiteXmlFiles
具有相应的用户属性,即surefire.suiteXmlFiles
。这意味着,在命令行上,您可以直接将其设置为以逗号分隔的多个值:
-Dsurefire.suiteXmlFiles=src/test/resources/testng1.xml,src/test/resources/testng2.xml
这意味着您实际上不需要为maven-surefire-plugin
定义任何配置。您只需确保使用最新的2.19.1版本:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
</plugin>
通常,插件中列表的两种配置是: