使用JUnit在JNDI数据源Hibernate中使用weblogic环境进行单元测试?

时间:2011-12-28 16:40:41

标签: java hibernate junit weblogic jndi

我在weblogic服务器中使用datasource,并在Hibernate中使用数据源。 使用HibernateUtil类获取SessionFactory,现在我想通过使用JUnit为我的DAO层编写测试用例。

  1. 如何在我的Test类中获取SessionFactory。
  2. 我能够通过我的测试类中的setUp方法中的jndi查找获取数据源
  3. 有没有更好的方法在这种环境下编写测试类?

1 个答案:

答案 0 :(得分:1)

您可以使用javax.naming.InitialContext获取数据源JNDI。但我认为测试依赖于容器(weblogic)并不是一个好主意。

我只有两个想法:

  • 你可以使用Mock,为数据库获取假连接。
  • 或者您可以使用不同的hibernate配置文件进行测试。这样,您可以直接指定连接,而无需JNDI。

可以使用反射或模拟来加载此测试文件配置。