void insertAllRecords(){
insertRecord("tom", 100);
insertRecord("jake", 200);
insertRecord("tim", 300);
insertRecord("andy", 400);
insertRecord("mike", 500);
}
我正在为具有测试数据库的内容编写JUnit
测试。它从一个空数据库开始。
我想测试不同的东西,但我不希望重复insertRecord
具有相同的参数。
是否有一种简单的方法来指定要执行的行?例如,我只想在其中一个@test
函数中添加tom和andy。
我知道在每种测试方法中,数据库开始为0。 我希望能够:
但我不想在每个测试中都插入单独的insert语句。我希望能够使用一些参数调用insertAllRecords。
由于
答案 0 :(得分:0)
据我所知,JUnit不支持您想要的行为。您可能需要查看TestNG,它允许使用@BeforeMethod
和@AfterMethod
注释进行特定于测试的设置。它还允许使用带有@Parameter
或@DataProvider
注释的参数化数据来提供更灵活的测试数据。
答案 1 :(得分:0)
使用抽象方法abstract void insertAllRecords();
然后在你需要的情况下扩展这个类。例如
class TestWithTomClass extends AbstractTestClass{
public void insertAllRecords(){
insertRecord("tom", 100);
}
@Test
public void myTestWithTom(){
....
}