Với TestNG, bạn sẽ sử dụng nhóm cho việc này:
@BeforeMethod(groups = "g1")
public void setUp1(){
obj.addDataThisWay(data);
}
@BeforeMethod(groups = "g2")
public void setUp2(){
obj.addDataThatWay(data);
}
@Test(groups = { "g1", "g2" })
public void testResult(){
assertEquals(obj.getResult(),1);
}
Nếu bạn hỏi TestNG để chạy các nhóm "g1", nó sẽ chạy Setup1() -> testResult. Nếu bạn chạy nhóm "g2", nó sẽ chạy setUp2() -> testResult.
Ngoài ra, như các commenter nói ở trên, bạn có thể sử dụng các nhà cung cấp dữ liệu để truyền các thông số khác nhau để thử nghiệm phương pháp của bạn:
//This method will provide data to any test method that declares that its Data Provider
//is named "test1"
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
{ "Cedric", new Integer(36) },
{ "Anne", new Integer(37)},
};
}
//This test method declares that its data should be supplied by the Data Provider
//named "test1"
@Test(dataProvider = "test1")
public void verifyData1(String n1, Integer n2) {
System.out.println(n1 + " " + n2);
}
Nguồn
2011-06-22 20:54:26
Trong testng bạn có thể sử dụng các chú thích @DataProvider và đã thiết lập được thực hiện theo cách đó, đi qua trong hai trường hợp khác nhau của obj . Nhưng tôi không biết tương đương với junit là gì. – sblundy