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

問題を示す小さなプロジェクトを作成できる場合は、私にメールしてください。確認します。

注: 上記のスニペットで「Constrants」という単語を使用していますが、それが実際のコードなのか、無害なタイプミスなのかはわかりません。

于 2012-07-10T02:51:17.920 に答える