Java 多个TestNG组:可以从命令行专门对它们进行AND吗?
假设我有一个桌面用户界面和一个移动用户界面,用于相同的后端功能(例如,帐户、结帐)。然后我将有以下测试类:Java 多个TestNG组:可以从命令行专门对它们进行AND吗?,java,maven,command-line,testng,Java,Maven,Command Line,Testng,假设我有一个桌面用户界面和一个移动用户界面,用于相同的后端功能(例如,帐户、结帐)。然后我将有以下测试类: @Test(groups = { "desktop", "account" }) public class DesktopAccountTest {} @Test(groups = { "desktop", "checkout" }) public class DesktopCheckoutTest {} @Test(groups = { "mobile", "account" })
@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测试-Dgroups=“desktop”
或mvn测试-Dgroups=“mobile”
来说很容易。但是,如果我只想运行桌面帐户测试呢?这不起作用:mvn测试-Dgroups=“desktop,account”
:它返回所有桌面测试和所有帐户测试
有没有办法得到两组的交集,而不是它们的总和?从命令行?您应该尝试
mvn测试-Dgroups=“desktop,account”-dexcludegtoups=“mobile”
但是,如果您只想运行一个测试,也可以:另一个解决方案是为每个特定组创建一个文件。我尝试了您的建议。它提供了额外的过滤,但仍然基于两个组的总和,而不是它们的交集。无论如何,你仍然得到我的投票:)是的,但这只是TestNG目前支持收件箱的内容。您可以轻松地选择过滤不需要的测试的位置。