1

次の TestNG Unit Test クラスがあります。

public class SomeTest extends AbstractEntityTest {
    ...
    @DataProvider
    public Object[][] getClasses() throws Exception {
        return this.getClassesForPackage(pack);
    }

    @Test(dataProvider = "getClasses")
    public void testEntity(final Class<?> entityClass) throws Exception {
        //test class...
    }
}

このテストは、Eclipse で実行すると適切に実行されますが、Maven は完全に無視しているようです。問題を特定するために、このテスト クラスに別のダミー テスト メソッドを追加し、そのメソッドを Maven で実行しました。注釈の dataProvider またはメソッドのパラメーターのいずれかが原因で、surefire プラグインがメソッド testEntity をテスト メソッドとして認識しないようです。

Maven バージョン: 3.0.3
Surefire プラグイン バージョン: 2.13
TestNG バージョン: 6.8

更新 どのテストを実行するかを定義するために testng.xml ファイルを使用しません。この説明によると、これも必要ないはずです。

これは、開始するために必要な唯一のステップです。これで、テスト ソース ディレクトリ (例: src/test/java) にテストを作成できます。*Test.java などのデフォルトを使用して名前が付けられている限り、テストは実行されます。 TestNGテストとしてSurefireによって。

4

0 に答える 0