コード>AbstractJUnit4SpringContextTestsをサブクラス化してテストしようとしているSpring + JPA + Hibernateアプリケーションがあります。@ContextConfiguration
このクラスでは、アノテーションを使用して Spring コンテキスト ファイルを指定できます。このファイルでは、<jdbc:embedded-database>
要素を介して SQL スクリプトを使用してデータベースが作成および初期化されます (スキーマ + データ)。
現在、2 つの異なる Spring コンテキスト ファイルをロードする 2 つのクラスがありますが、どちらにもこの要素が含まれています。各テスト クラスを個別に実行すると、すべてのテスト メソッドが正常に動作します。ただし、ant スクリプトからそれらを実行すると、データベースが既に初期化されているため、実行される 2 番目のテストで問題が発生します。これはfork="yes" forkmode="perTest"
、私の Ant JUnit ターゲットと同様、非常に奇妙です。なぜこれが起こっているのかわかりません。何か案は?
編集:これが私のantスクリプトの断片です:
<junit printsummary="withOutAndErr" haltonfailure="yes" fork="yes" forkmode="perTest" maxmemory="512m">
<classpath refid="mvn.classpath"/>
<classpath location="${classes-core}"/>
<classpath location="${classes-pentaho}"/>
<classpath location="${classes-plugins}"/>
<classpath location="${junit.classes}"/>
<classpath location="${junit.resources}"/>
<sysproperty key="ant.home" value="${ant.home}"/>
<formatter type="xml"/>
<batchtest fork="yes" todir="${junit.out.dir.xml}">
<fileset dir="${junit.classes}" includes="**/*TestSuite.class"/>
</batchtest>
</junit>
ありがとう
ジョバンニ