我是java和junit的新手。 我有测试/页面测试的一些测试用例,如addTest.java,deleteTest.java。 我已经使用下面的代码在junit测试套件中包含了这些测试
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
addTest.class,
deleteTest.class
})
public class JunitTestSuite {
}
所有这些测试用例都使用db的输入。为此,我在TestDBMethods.java中编写了一个名为getValues的方法,它位于路径test / testdb中,它返回我在测试用例中需要的所有值。
我面临的问题是我不想在每个测试用例中调用TestDBMethods.java类,因为这非常昂贵。所以我更喜欢包含一个单独的类,它只调用一次TestDBMethods.java并返回一个应该被所有其他测试用例使用的实例。 任何人都可以帮我编写单例类的代码,该类调用类TestDBMethods.java并返回一个实例。
答案 0 :(得分:0)
根据您的描述,由于调用TestDBMethods很昂贵,因此您可以将TestDBMethods实现为单例类,而不是调用TestDBMethods的类。
据我所知,我们有很多方法可以实现单例.Below只是一个非常简单的例子:
public class TestDBMethods{
private static TestDBMethods instance;
private TestDBMethods(){}
public static TestDBMethods getInstance() {
if (instance == null) {
instance = new TestDBMethods();
}
return instance;
}
public Object getValues(){
return null;
}
}
通过这种方式,您可以使用TestDBMethods.getInstance.getValue()来调用函数getValue(),并且内存中只存在一个实例。