多个TestNG组:它们可以与命令行进行AND运算吗?

时间:2015-10-14 22:58:38

标签: java maven command-line testng

我们假设我有一个桌面用户界面和一个移动用户界面,用于相同的后端功能(例如,帐户,结帐)。然后我会有以下测试类:

@Test(groups = { "desktop", "account" })
public class DesktopAccountTest {}

@Test(groups = { "desktop", "checkout" })
public class DesktopCheckoutTest {}

@Test(groups = { "mobile", "account" })
public class MobileAccountTest {}

@Test(groups = { "mobile", "checkout" })
public class MobileCheckoutTest {}

我永远不需要在同一个执行中运行桌面和移动测试。另一方面,我想运行所有桌面测试或所有移动测试,这对于mvn test -Dgroups="desktop"mvn test -Dgroups="mobile"来说很容易。但是,如果我只想运行桌面帐户测试呢?这不起作用:mvn test -Dgroups="desktop, account":它返回所有桌面测试和所有帐户测试。

有没有办法获得两组的交集,而不是它们的总和?从命令行?

2 个答案:

答案 0 :(得分:0)

您应该尝试mvn test -Dgroups="desktop,account"-DexcludedGtoups="mobile"

但是,如果您只想运行一个测试,也可以:http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html

答案 1 :(得分:0)

另一种解决方案可能是为每个特定组创建一个testng.xml文件。