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

Java 在JNDI数据源Hibernate和weblogic环境中使用JUnit进行单元测试?,java,hibernate,junit,weblogic,jndi,Java,Hibernate,Junit,Weblogic,Jndi,我在weblogic服务器中使用数据源,在Hibernate中使用数据源。 有了HibernateUtil类,我得到了SessionFactory,现在我想使用JUnit为我的DAO层编写测试用例 如何在我的测试类中获取SessionFactory 我能够通过在测试类的setUp方法中查找jndi来获取数据源 有没有更好的方法在这个环境中编写测试类?您可以使用javax.naming.InitialContext获取数据源JNDI。但是我认为让测试依赖于容器(weblogic)不是一个好主意 我

我在weblogic服务器中使用数据源,在Hibernate中使用数据源。 有了HibernateUtil类,我得到了SessionFactory,现在我想使用JUnit为我的DAO层编写测试用例

  • 如何在我的测试类中获取SessionFactory
  • 我能够通过在测试类的setUp方法中查找jndi来获取数据源

  • 有没有更好的方法在这个环境中编写测试类?

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

    我只有两个想法:

    • 您可以使用Mock,获得与DB的假连接
    • 或者您可以使用不同的hibernate配置文件进行测试。通过这种方式,您可以直接指定连接,而无需JNDI

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

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

    我只有两个想法:

    • 您可以使用Mock,获得与DB的假连接
    • 或者您可以使用不同的hibernate配置文件进行测试。通过这种方式,您可以直接指定连接,而无需JNDI
    可以使用反射或模拟来加载此测试文件配置