当我尝试在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'。
我知道我可以简单地不包含我不想运行的类,但是我可能会有数百个测试,并且按组而不是类来维护测试套件要容易得多。
答案 0 :(得分:1)
如果您可以创建一个显示问题的小项目,请通过电子邮件发送给我,我会看看。
注意:您在上面的代码段中使用了“Constrants”一词,不确定这是您的真实代码还是无害的拼写错误。