我正在使用Apache的GenericObjectPool
创建我班级的对象池。
我有网络应用程序。处理完请求后,我将对象放回池中,没有任何问题。在代码中,我将对象保留在finally
块中的池中。
我的问题是,在我的JUnit测试用例中,我也从池中获取对象并使用它。我的测试用例执行完成后,是否真的需要将对象保留回池中?
@Test
public void testMethod(){
try{
//some code after getting the object from the pool
}catch(Exception e){
}finally{
//call the logic to put the object back to the pool here
}
}
是否真的需要在上面的finally块中提到的测试用例中将对象保留回客户端?
答案 0 :(得分:0)
您是否真的需要取决于对象的类型。例如,如果存在数据库连接池,那么除非将它们返回池中,否则将很快耗尽。无法返回其他类型的对象可能会快速消耗测试程序可用的所有内存。一般来说,答案是肯定的,你需要。在某些情况下,如果没有这样做可能会有所收获,但即使在这种情况下,我也会认为这种风格很糟糕。
答案 1 :(得分:0)
是的,你必须这样做是因为以下原因: