枚举开放JDBC连接?

时间:2010-01-15 01:10:53

标签: java unit-testing jdbc database-connection

如何枚举/计算所有打开的JDBC连接?我见过this thread,它没有回答我的问题。

我感兴趣的是编写测试代码,其中被测对象(称为ConnectionUser)维护自己的连接。在我的测试中,我想做一些事情,例如验证实例化ConnectionUser没有打开连接,并且调用ConnectionUser.open导致一个打开的连接。我对在生产代码本身中枚举/计算连接或实现连接池不感兴趣。

我已经考虑过使用像jmockit这样的东西来验证静态DriverManager.getConnection方法的调用,但是更喜欢不那么抽象的东西 - 也就是说,让驱动程序只给我一个所有打开连接的列表。

1 个答案:

答案 0 :(得分:2)

  

如何枚举/统计所有打开的JDBC连接?

如果你没有在DriverManager周围使用包装类,那么你就不能。

  

我已经考虑过使用像jmockit这样的东西来验证静态DriverManager.getConnection方法的调用,但是更喜欢不那么抽象的东西 - 也就是说,让驱动程序只给我一个所有打开连接的列表。

也许......但司机不会给你这些信息。实际上,如果您想要单独测试代码,那么使用模拟就可以了。毕竟,你怎么知道驱动程序不是骗你的:)所以,的确,我会用JMockit替换DriverManager并模拟静态方法调用并进行必要的验证。 / p>