2009-06-08 3 views
17

私はAntでJUnitを設定しているので、ユニットテストは各ビルドで実行されます。 の出力は、実行されるたびにテストがAntコンソールの出力に出力されないようにしたいと思います。私は後続のテストからの出力を見る必要はありません。JUnit Antタスクは、失敗時にのみ出力を生成するように設定するにはどうすればよいですか?

ここに私のbuild.xmlファイルの該当ビットです:

:これは私が望むほとんど何生成

<junit> 
    <classpath> 
     <pathelement path="${build}"/> 
    </classpath> 
    <formatter type="brief" usefile="false"/> 
    <batchtest> 
     <fileset dir="${src}" includes="my/tree/junit/"/> 
    </batchtest> 
</junit> 

、不合格のテストは、後続のテストは、以下の出力を書き込むことを除いて、Antの出力に詳述されているが、

     [junit] Testsuite: my.tree.junit.ExampleTest 
        [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.002 sec

    は私が含めJUnit taskドキュメントに記載されているすべての組み合わせを、試してみましたと信じて

  • printsummarytype

の各種類の属性

  • showoutput属性
  • formatter要素マイユースケースは、コマンドラインからantを実行しています。より多くのテストを書いているので、後続のテストの出力が非常に大きく、失敗したテストの出力が画面からスクロールしないようにしたい。私はちょうどant私の注意を必要とするテストに失敗していない限り静かにしたい。これを行うにはどうすればAnt/JUnitを設定できますか?

    私はAntバージョン1.6.4とJUnit 4.6を使用しています。

  • +0

    カスタムJUnitカスタムテストランナーの可能性が追加されました。 – VonC

    答えて

    13

    classname」属性(およびorg.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatterを拡張し、おそらくはendTest() or endTestsuite() methodsでは何もしない)で、独自のXMLフォーマッタを定義することも可能です。
    そのフォーマッタはinfoメッセージを無視し、失敗メッセージのみを表示します。


    注:this settingsだけ失敗したテストを表示する可能性に言及:

    <junit showoutput="true" 
         fork="true" 
         failureproperty="tests.failed" 
         errorproperty="tests.failed"> 
        <batchtest todir="${test.results.dir}"> 
         <fileset dir="test"> 
          <include name="**/*Test.java"/> 
         </fileset> 
        </batchtest> 
        <classpath path="${classes.dir}:${junit.jar}:${test.classes.dir}"/> 
        <formatter usefile="false" type="brief"/> 
        <!-- <formatter type="xml"/> If missing, only displays failed tests --> 
    </junit> 
    

    あなたはそれをテストしましたか?

    注:アリJuintテストランナーを定義することで、このrecent (February 2012) ticket


    さらに別approchによって示されるように「showoutput="true"<formatter type="brief" usefile="false"/>」はアリJUnitResultFormatterを支持する、ビット問題となり得るとstderrメッセージのみを表示します。

    eclipseからのEclipseTestRunnerが良い例です。

    +0

    非常に良い答え! – guerda

    +0

    ありがとう、あなたが示した例は、私の質問に投稿したものと本質的に同じなので、違いはNetbeansのコンテキストで実行することと関係していると思います。私はカスタムフォーマッタを実装しようとしますが、私はそれをやることを避けることを望んでいました。 –

    +0

    私はカスタムフォーマッタを実装し、私の元の目標を達成することができました。 –

    関連する問題