[英]Set up JUnit test database
void insertAllRecords(){
insertRecord("tom", 100);
insertRecord("jake", 200);
insertRecord("tim", 300);
insertRecord("andy", 400);
insertRecord("mike", 500);
}
我正在為具有測試數據庫的東西編寫JUnit
測試。 它從一個空數據庫開始。 我想測試不同的東西,但是我不想使用相同的參數復制insertRecord
。
是否有一種簡單的方法來指定要執行的行? 例如,我只想在@test
函數之一中添加tom和andy。
我知道每種測試方法中的數據庫都從0開始。我希望能夠:
但是我不想在每個測試中都放置單獨的插入語句。 我希望能夠使用一些參數來調用insertAllRecords。
謝謝
據我所知,JUnit不支持您想要的行為。 您可能想看看TestNG ,它允許使用@BeforeMethod
和@AfterMethod
批注進行特定於測試的設置。 此外,它還可以使用帶有@Parameter
或@DataProvider
批注的參數化數據來提供更靈活的測試數據。
使用抽象方法將您的Junit類轉換為抽象類abstract void insertAllRecords();
然后在需要的情況下擴展此類。 例如
class TestWithTomClass extends AbstractTestClass{
public void insertAllRecords(){
insertRecord("tom", 100);
}
@Test
public void myTestWithTom(){
....
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.