我有一个使用oracle的程序。 我想对查询谁做完做一些测试。 Db测试是HSQLDB。
public class UserDAODataAccess {
private Connection connection;
private void getConnection() throws MMException {
connection = AutoExternalServices.getDatabase().newConnection();
}
List<User> getUser(){
getConnection();
...
}
}
在测试中是否可以绕过当前的getConnection并获得另一个db的连接?
答案 0 :(得分:0)
在使用测试连接替换Connection
AutoExternalServices
时遇到困难时,应该响起警钟。通常这种困难来自于糟糕/次优的设计。
在您的情况下,如果可以,我建议您提供Connection
作为构造函数参数并删除getConnection()
方法。这样可以轻松地将Connection
替换为您的测试。
至于绕过getConnection()
,还有各种各样的黑客&#39;要做到这一点,包括切换系统属性,覆盖特殊测试类中的方法,......
但我不会推荐其中任何一个 ......