2014-08-29 21 views
2

我有Hibernate的JSF应用程序。我在hibernate.cfg.xml中使用Tomcat连接池如何为测试制作不同的Hibernate配置?

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC 
      "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
      "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
     <property name="dialect">org.hibernate.dialect.PostgreSQL9Dialect</property> 
     <!-- using Tomcat connections --> 
    <property name="connection.datasource">java:/comp/env/jdbc/netstat</property>  
    <!-- Parameters for Hibernate connection provider 
    <property name="connection.driver_class">org.postgresql.Driver</property> 
     <property name="connection.url">jdbc:postgresql://localhost:5432/netstat</property> 
     <property name="connection.username">netstat</property> 
     <property name="connection.password">netstat</property> 
    --> 

     <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 

     <!-- configuration pool via c3p0 --> 
    <!-- 
     <property name="c3p0.min_size">5</property> 
     <property name="c3p0.max_size">100</property> 
     <property name="c3p0.max_statements">200</property> 
     <property name="c3p0.timeout">600</property> 
    --> 

     <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> 
     <property name="current_session_context_class">thread</property> 
     <property name="hibernate.show_sql">false</property> 
     <property name="hibernate.hbm2ddl.auto">update</property> 
     <!-- Mapping classes --> 
     <mapping class="ru.gooamoko.model.Group" /> 
     <mapping class="ru.gooamoko.model.Host" /> 
     <mapping class="ru.gooamoko.model.Traffic" /> 
     <mapping class="ru.gooamoko.model.DailyTraffic" /> 

    </session-factory> 
</hibernate-configuration> 

项目可以用所有测试跳过并运行正常的maven构建。但对于测试souch Hibernate配置不适用。

对于这种情况,是否有任何方式为JUnit测试指定不同的配置文件?

此致敬礼。

回答

2

把测试文件中src/test/resources但在执行测试

+0

感谢您的回答将优先考虑在类路径!我想,我不需要C3PO池管理器进行测试,所以我配置了默认的JDBC池。这是正确的吗? – gooamoko 2014-08-29 07:31:43

+0

你应该测试它接近真正的应用程序,这样你会捕捉更多的问题之前 – 2014-08-29 07:32:31

相关问题