在Testng XML套件中使用组时,将排除所有测试

时间:2012-07-09 20:23:28

标签: testng

当我尝试在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'。

我知道我可以简单地不包含我不想运行的类,但是我可能会有数百个测试,并且按组而不是类来维护测试套件要容易得多。

1 个答案:

答案 0 :(得分:1)

如果您可以创建一个显示问题的小项目,请通过电子邮件发送给我,我会看看。

注意:您在上面的代码段中使用了“Constrants”一词,不确定这是您的真实代码还是无害的拼写错误。