1

大規模なビルドを多くのビルドファイルに分割し、マスタービルドでそれぞれをantターゲットで呼び出します。単体テストの場合、すべてのテストを実行して(レポートが生成されるように)、最後にエラーまたは失敗でビルド全体を失敗できるようにする必要があります。私は理解errorPropertyしており、failurePropertydoc)を使用してプロパティをtrueに設定し、ビルドの最後に参照できるようにすることができますが、それをトップレベルのビルドに戻す方法がわかりません。サブビルドからのJUnitの失敗またはエラーをバブルアップするにはどうすればよいですか?ただし、すべてのテストが完了した後にのみ失敗しますか?

4

1 に答える 1

1

1つのオプションは、AntUnitを使用することです。

このタスクは、JUnitテストの場合と<antunit>ほとんど同じようにテストを実行します。<junit>

ビルドファイルで呼び出されると、タスクはそのビルドファイルの新しいAntプロジェクトを開始し、「test」で始まる名前のターゲットをスキャンします。そのようなターゲットごとに、

  • setUpという名前のターゲットがある場合は、それを実行します。
  • ターゲット自体を実行します-このターゲットが他のターゲットに依存している場合は、通常のAntルールが適用され、依存しているターゲットが最初に実行されます。
  • ターゲット名があれば、tearDownを実行します。

AntUnitは、テストされた各サブプロジェクトの要約を提供し、サブプロジェクトの1つが失敗した場合、ビルド全体を失敗させます。

マスターbuild.xml内

<target name="test" depends="compile" description="Run tests.">            
  <antunit>
    <plainlistener loglevel="info" />
    <fileset dir="${subprojects.dir}" includes="**/*.xml" />
  </antunit>
</target>

サブプロジェクトbuild.xml

<target name="testJUnit">
  <junit printsummary="on" fork="true" forkmode="once" showoutput="true">
    ...
  </junit>
</target>
于 2012-06-28T20:40:16.100 に答える