limcが与えた答えのフォローアップと同じように、ここで私ができることがありました。私は春を使用し、私は私の春のデータ設定ファイルを取得し、これにそれを回すことができた休止してい
:代わりにそれと
<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>
私のテスト用にもう1つ、私の製造コード用にもう1つあります。上図の1は、このようになりますように、私のテストバージョンと参照ファイルtest-messages.propertiesです:
db.dialect=org.hibernate.dialect.HSQLDialect
ddl.create=create
私はプレースホルダを利用することにより、事実上すべての私の生産設定ファイルのを再利用することができますので、これは実際には非常にうまく動作しますpropertyConfigurerコンストラクトテスト環境に必要な余分なファイルは、propertyConfigurer設定ファイルと、それが指すプロパティファイルだけです。
ありがとうございます、limc!
さて、私はlimcが言及した問題を見ています。このシステムは、本番環境のSQL Serverデータベースに接続するために配備され、hbm2ddlで作成されることはありません。私のHBMファイルにエラーがあると、私のテストはうまくいくかもしれませんが、私はまだ生産に失敗するかもしれません。
一方で、私はそれについて非常に不満ですが、もう一方では、完全に自己完結型の方法でDBに対してテストケースを実際に実行できます。このソリューションでは、誰かがこのプロジェクトをソース管理からチェックし、DB設定を一切行うことなくテストケースをすぐに実行できます。私もそれが好き。残念ながら、私はまだ両方を持つ本当に素晴らしい方法を見つけていません。
ODBC経由でHSQLに接続できると仮定すると、[SQL Server Linked Serverインスタンス](http://msdn.microsoft.com/en-us/library/aa213778%28SQL.80%29.aspx)を作成できます。テーブルとデータをHSQLにダンプします。既存のデータベース/スキーマに基づいてスクリプトを生成するためのHSQLツールが必要です。 –