[英]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.