2014-08-29 51 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

相關問題