在我当前的build.gradle中,我使用低于目标来通过命令行运行特定组
test {
jvmArgs "-DisParallel=true"
useTestNG(){
suites testngxml
includeGroups System.properties['groups']
}
}
现在我想用逗号分隔 gradlew clean test -Dgroups =' group1,group2'
传递多个组任何帮助,请
答案 0 :(得分:1)
为什么不在TestNG Suite xml文件中管理它而不是尝试在Gradle构建文件级别管理它?
您可以在TestNG套件xml文件中使用BeanShell,该文件能够将组名称作为JVM参数读取,然后解析它并相应地运行测试吗?
下面是一个示例,它接受一个组名作为JVM参数,然后动态地让测试运行,当且仅当它们属于传递的组名时。您可以通过添加拆分逻辑然后利用相同的containsKey()
逻辑来增强此功能。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
<test name="Test">
<method-selectors>
<method-selector>
<script language="beanshell">
<![CDATA[whatGroup = System.getProperty("groups");
groups.containsKey(whatGroup);
]]>
</script>
</method-selector>
</method-selectors>
<classes>
<class name="organized.chaos.GroupsPlayGround" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
有关详细信息,请参阅以下内容: