1
使用junit測試DAO'm,主要是我在hibernate中啓動事務,調用compare函數,然後回滾transaccion.El問題,如果我測試函數是一個事務錯誤,我不能去掉嵌套,我想過實現DBUnit xml的想法,但管理似乎並不是一個好主意,在這個例子中,我用這種方法做了足夠多的測試用例。 任何人有任何想法如何解決它,而不必使用除了Junit或休眠以外的任何東西?在Java中使用Junit4和Hibernate測試DAO
這是一個例子
@Test
public void Test1GetByCodigo(){
String cod = "999999999";
DBTenant dbTenant = null;
Session sess = null;
Transaction trans = null;
ClienteBO cli = null;
Clientes clie = null;
try{
try{
dbTenant = new DBTenant();
sess = dbTenant.getTenantSession();
trans = sess.beginTransaction();
}
catch(Exception e){
fail("Error en la carga de la transaccion.Quedo alguna transaccion abierta?");
}
clie = CargaCliente(cod);
sess.save(clie);
cli = cliBL.getByCodigo(cod);
}
catch(Exception e){
trans.rollback();
dbTenant.closeSession();
fail("Error la carga del cliente.Se modifico la bse de datos Clientes??");
}
trans.rollback();
sess.clear();
dbTenant.closeSession();
ClienteBO clieEsp = CargaClienteBO(clie);
assertNotNull(clieEsp);
assertNotNull(cli);
assertEquals("Error el cliente no coincide",clieEsp,cli);
}
如果cliBL.getbycodigo()函數tubiera交易將有一個錯誤,謝謝你的幫助,感謝
如果cliBL.getbycodigo()函數有交易將有一個bug,謝謝你的幫助,感謝 –
對我使用的HibernateUtil創建SessionFactory的。 HibernateUtil在應用程序的正常運行期間工作正常,但是當我嘗試運行JUnit4測試時,它給出了ExceptionInInitializer錯誤。請幫忙。 –
您可以請分享您的DBTenant代碼。 –