我们假设我有一个桌面用户界面和一个移动用户界面,用于相同的后端功能(例如,帐户,结帐)。然后我会有以下测试类:
@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"
:它返回所有桌面测试和所有帐户测试。
有没有办法获得两组的交集,而不是它们的总和?从命令行?
答案 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文件。