0

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

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

4

1 回答 1

1

If you can create a small project showing the problem, email it to me and I'll take a look.

Note: you are using the word "Constrants" in the snippet above, not sure if it's your real code or a harmless typo here.

于 2012-07-10T02:51:17.920 回答