我想用不同的持久性单元测试一些代码。因此,我编写了两个相同的TestNG测试类,这些测试类只在我传递给Persistence#createEntityManagerFactory
以获得正确工厂的持久性单元的名称上有所不同。
此调用位于使用`@ BeforeClass``
注释的设置方法中@BeforeClass
public void setupClass() {
emf = Persistence.createEntityManagerFactory("test-eclipselink-h2");
em = emf.createEntityManager();
// init with some dummy data
// ... some more initialization
}
使用不同的持久性单元执行此测试类有哪些选项?将名称硬编码到测试类中就足够了,不需要在外部指定它们。
答案 0 :(得分: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);
}
}