7

Ant junitタスクを使用して非回帰テストを起動するときに問題が発生します。コンソール出力は、テストが終了したときにのみダンプされます。プロセスXmxに関してログが多すぎる場合、いくつかのOOMが発生します。これは、プロセスが終了する前にプロセスが停止した(またはウォッチドッグによって強制終了された)場合、ログが失われることを意味します。

<junit fork="true" forkmode="once" timeout="1200000" haltonfailure="no" 
 outputtoformatters="yes" failureProperty="test.failure" dir="${project.test.dir}">
  <junit-opts/>
  <formatter type="xml" />
  <formatter type="brief" />
  <test name="${project.test.suite}" todir="${report.junit.dir}" outfile="@{project.test.name}" />
</junit>

この問題は、ログをファイルにダンプすることで回避できます(log4jをログAPIとして使用します)。ただし、アプリケーションのコンソール出力ログをテストしたいと思います。

テストスイートが終了するのを待たずに、コンソール出力をオンザフライでファイルにダンプするようにant junitタスクに指示することを許可する設定はありますか?

ありがとう!

4

1 に答える 1

14

showoutput="true"junit コマンドにパラメーターを追加します。

<junit fork="true" showoutput="true" forkmode="once" timeout="1200000" haltonfailure="no" 
 outputtoformatters="yes" failureProperty="test.failure" dir="${project.test.dir}">
  <junit-opts/>
  <test name="${project.test.suite}" todir="${report.junit.dir}" outfile="@{project.test.name}" />
</junit>

showoutput="true"and フォーマッタの使用は避けてください。テスト stdout と stderr が出力ウィンドウに2 回showoutput表示されることを意味するため、問題があります (実行時はフラグのため、実行後はフォーマッタのため)。

于 2013-05-16T12:38:25.360 に答える