簡體   English   中英

設置JUnit測試數據庫

[英]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開始。我希望能夠:

  • 在testA中,使用tom和jake設置數據庫。
  • 在testB中,使用andy和mike設置數據庫。
  • 在testC中,使用所有數據庫設置數據庫。

但是我不想在每個測試中都放置單獨的插入語句。 我希望能夠使用一些參數來調用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM