正如limc給出的答案的後續,這是我所能做的。
我使用Spring和Hibernate所以我能夠把我的春節,數據配置文件,並把它變成這樣:
<bean id="sessionFactory" name="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
...hbm files...
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${db.dialect}</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">false</prop>
<prop key="hibernate.hbm2ddl.auto">${ddl.create}</prop>
</props>
</property>
</bean>
隨着到位,我能propertyConfigurer配置填寫佔位符,看起來像這樣:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:test-messages.properties</value>
</property>
</bean>
</beans>
我有我的測試這些文件之一,多了一個我的生產代碼。上面顯示的一個是我的測試版本,並引用文件test-messages.properties,看起來像這樣:
db.dialect=org.hibernate.dialect.HSQLDialect
ddl.create=create
這實際工作非常漂亮,我可以利用佔位符重用幾乎所有的我的生產配置文件和propertyConfigurer構造。我的測試環境中唯一需要的額外文件是propertyConfigurer配置文件和它們指向的屬性文件。
謝謝,limc!
另外,我確實看到limc提到的問題。該系統被設計爲部署用於連接到生產環境中的SQL Server數據庫,該數據庫不會通過hbm2ddl創建。所以,如果我的HBM文件中有錯誤,我的測試可能都會正常工作,而我仍然可能會遇到生產故障。
一方面,我對此非常不滿,但另一方面,我實際上可以以完全獨立的方式對數據庫運行測試用例。就這一解決方案而言,有人可以從源代碼管理中檢查此項目,並立即運行測試用例,而無需執行任何類型的數據庫設置。我也喜歡那個。不幸的是,我還沒有找到一個真正有兩種方法的好方法。
假設您可以通過ODBC連接到HSQL,可以創建一個[SQL Server鏈接服務器實例](http://msdn.microsoft.com/zh-cn/library/aa213778%28SQL.80%29.aspx) ,並將表格和數據轉儲到HSQL中。然後應該有HSQL工具根據現有的數據庫/模式生成腳本。 – 2011-01-28 16:48:00