【发布时间】:2017-07-13 05:39:34
【问题描述】:
我终于在每个测试中使用 JUnit4 @Category 运行了我的测试自动化;它们被标记为PriorityHigh、PriorityMedium 或PriorityLow。
在我的pom.xml 中,我将每个人都设置为个人资料:
<profile>
<id>PriorityHigh</id>
<properties>
<testcase.category>com.categories.PriorityHigh</testcase.category>
</properties>
</profile>
<profile>
<id>PriorityMedium</id>
<properties>
<testcase.category>com.categories.PriorityMedium</testcase.category>
</properties>
</profile>
<profile>
<id>PriorityLow</id>
<properties>
<testcase.category>com.categories.PriorityLow</testcase.category>
</properties>
</profile>
然后在插件部分使用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<configuration>
<groups>${testcase.category}</groups>
<systemPropertyVariables>
<automation.driver>${browser.name}</automation.driver>
</systemPropertyVariables>
</configuration>
</plugin>
我的问题是当我想同时测试中等和高时,我指定了
-P PriorityHigh,PriorityMedium
但它们不是添加/连接,而是覆盖,因此只有中等测试运行。为了增加额外的难度,因为pom.xml 抱怨 ${testcase.category} 只存在于配置文件中,并且没有默认值,所以我不得不添加这个:
<testcase.category>com.categories.PriorityHigh,com.categories.PriorityMedium,com.categories.PriorityLow</testcase.category>
如果没有指定配置文件。
所以两个问题:
- 如何让配置文件在“组”节点中正确堆叠?
- 如果没有指定配置文件(所有测试都应该运行),更好的工作方式?
【问题讨论】: