0

異なる永続性ユニットでいくつかのコードをテストしたいと思います。Persistence#createEntityManagerFactoryそのため、正しいファクトリを取得するために渡す永続化ユニットの名前のみが異なる2つの同一のTestNGテストクラスを作成しました。

この呼び出しは、`@BeforeClass``で注釈が付けられたセットアップメソッド内にあります

@BeforeClass
public void setupClass() {
    emf = Persistence.createEntityManagerFactory("test-eclipselink-h2");
    em = emf.createEntityManager();
    // init with some dummy data

    // ... some more initialization
}

異なる永続性ユニットでこのテストクラスを実行するためのオプションは何ですか?テストクラスに名前をハードコーディングするだけで十分であり、外部で指定する必要はありません。

4

1 に答える 1

1
public class A {
    private String s;

    @DataProvider
    public Object[][] dp() {
        return new Object[][] {
          new Object[] { "test-eclipselink-h1" },
          new Object[] { "test-eclipselink-h2" }
        };
      }

    @Factory(dataProvider = "dp")
    public A(String s) {
        System.out.println("Creating test class with " + s);
        this.s = s;
    }

    @Test
    public void test() {
        System.out.println("Test " + s);
    }
}
于 2012-10-31T16:15:18.893 に答える