2

コード>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>

ありがとう

ジョバンニ

4

1 に答える 1