当我尝试在 Testng XML 套件中对测试进行分组时,所有测试方法都被排除在测试运行中。
我已经编写了我的测试,我希望我的类中的所有测试方法都可以运行,但只有套件中的某些类可以执行,所以我使用了类级别的注释:
@Test (groups={ TestConstrants.Group1})
public class ABCTests extends AbstractIntegrationTest
{
@Test
public void Test1() throws Exception
@Test
public void Test2() throws Exception
}
@Test (groups={ TestConstrants.Group2})
public class DEFTests extends AbstractIntegrationTest
{
@Test
public void Test3() throws Exception
@Test
public void Test4() throws Exception
}
我的 Testng XML 配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="SuiteGroup">
<test name="TestGroups" preserve-order="true">
<groups>
<run>
<include name="TestConstants.Group1"/>
<exclude name="TestConstants.Group2"/>
</run>
</groups>
<classes>
<class name="ABCTests"/>
<class name="DEFTests"/>
</classes>
</test> <!-- TestGroups -->
</suite> <!-- SuiteGroup -->
在此示例中,我希望只运行 ABCTests 类中的测试,但是,由于某种原因,似乎所有测试都被排除在外。我已经验证了我正在扩展的类(AbstractIntegrationTest)中的方法设置为“alwaysRun = true”。
我知道我不能简单地不包含我不想运行的类,但我可能会有数百个测试,而且按组维护测试套件比按类维护测试套件要容易得多。