我想在兩種不同的條件下運行一個包含多個測試的類。基本上我有一堆與搜索有關的測試。我正在添加新的搜索策略的新功能,同時希望在兩種配置下運行已編寫的測試。由於我們有多個類,每個類都有多個測試,我想盡可能簡化這個過程。理想情況下,使用數據提供程序在@BeforeClass中執行設置會很棒,這樣在類中的所有測試基本上都會在不同的配置下運行兩次,但看起來並不是這樣。帶有@BeforeClass的TestNG數據提供程序
現在我有:
public class SearchTest1 {
@Test(dataProvider = "SearchType")
public void test1(SearchType searchType) {
setSearchType(searchType);
//Do the test1 logic
}
@Test(dataProvider = "SearchType")
public void test2(SearchType searchType) {
setSearchType(searchType);
//Do the test2 logic
}
@DataProvider(name = "SearchType")
public Object[][] createData() {
return new Object[][]{
new Object[] {SearchType.scheme1, SearchType.scheme2}
}
}
}
有沒有更好的方式來做到這一點?
這看起來就像是我一個很好的方式。除了我將數據提供者移動到它自己的類中外,所有人都可以引用同一個數據提供者。 – biziclop 2014-09-10 16:20:00
這實際上是如何安排的。我用這種方式寫了這個文件,以便在這裏閱讀。我應該提到,總共有268個測試有20個課程。我想避免在這些位置的所有268中寫入這些行。 – Clayton 2014-09-10 16:31:31