gpt4 book ai didi

java - 如何管理同一项目中两个不同测试套件的 POM Surefire 插件

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:43 24 4
gpt4 key购买 nike

我正在使用 Maven 和 Surefire 插件来运行我的测试。我有几个不同的测试,为了运行所有测试,我使用相同的 POM。目前一切都工作正常,但现在我有两个不同的属性文件,用于获取测试用例的一些条目,因此我想为这两个不同的属性一一运行所有这些测试用例。我的意思是我想使用两个不同的测试套件,那么我如何管理 POM?任何帮助将不胜感激..!!!

使用 - JDK 1.6 和 Maven 3.1

最佳答案

如果您可以依次启动两个 Maven 构建,请尝试类似的操作:



<pre><code> <execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<excludes>
<exclude>**/test/**${dontUse}.properties</exclude>
</excludes>
<includes>
<include>**/test/**${use}.properties</include>
</includes>
</configuration>
</execution>
</code></pre>

并将dontUse和use作为参数传递给maven。或者您可以定义两个配置文件 - 一个包含第一个配置文件,一个包含另一个属性文件 - 然后使用这两个配置文件开始构建。编辑:使用一个类加载属性文件,在其中检查文件是否存在。要么是第一个,要么是第二个。像这样的东西:



<pre><code>public Properties load() {
Properties prop = new Properties();
try {
InputStream in;
in = getClass().getResourceAsStream("first.properties");
if (in == null)
in = getClass().getResourceAsStream("second.properties");
prop.load(in);
in.close();
return prop;
} catch (Exception e) {
e.printStackTrace();
}
return prop;
}
</code></pre>

关于java - 如何管理同一项目中两个不同测试套件的 POM Surefire 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15970565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com