2

通常は Ruby でコーディングし、単体テストには rspec を使用します。

今度は Java でいくつかの作業を行う必要があるため、JUnit を使用しています。複数のテスト スイートからの出力は次のようになります。

test:
    [junit] Running com.whatever.MapperTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.542 sec
    [junit] Running com.whatever.ReducerTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.391 sec
    [junit] Running com.whatever.DenormalizerTest
    [junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.046 sec
    [junit] Running com.whatever.EventTest
    [junit] Tests run: 31, Failures: 0, Errors: 0, Time elapsed: 0.081 sec

BUILD SUCCESSFUL
Total time: 5 seconds

これは非常に密度の高いテキストであり、失敗やエラーを確認するのが少し難しくなります。

RSpec を使用すると、次のような出力が得られます。

............F........F........E.......

どこ '。' はテストの合格を表し、'F' は不合格、'E' はエラーです。この出力の下には、すべての失敗/エラーの詳細が表示されます。

JUnit からの通常の要約出力で実行/失敗/エラーの数を見るときとは異なり、その形式の方がはるかに見やすいことがわかります。

build.xml ファイルの junit タスクでいくつかのオプションを試しました。

<formatter type="plain" usefile="false" />

<junit printsummary="true">

formatter="plain" を使用すると、冗長な情報で画面がいっぱいになります。すべてのパスを 1 行のテキストとして表示する必要はありません。理想的なのは 1 つのドットだけです。

私が望むフォーマットに似たものを生成するカスタムフォーマッタが書かれているかどうかは誰にも分かりますか?

私が使用するツールはどれもコマンド ラインで動作する必要があるため、派手な GUI ツールはオプションではありません。

4

1 に答える 1

1

問題を解決するために独自のフォーマッタを作成できます。

ここにあなたが始めるためのいくつかの良い指示があります: http ://shaman-sir.wikidot.com/one-liner-output-formatter

基本的に、addErrorを変更して、エラーのあるテストの記録も保持する必要があります。次に、endTest()を変更してを出力します。テストが失敗またはエラーセットにない限り、そこにあるすべての情報の代わりに。

ANTのAPIは、そのバイナリ配布に含まれています。新しく作成されたフォーマッターでjunitフォーマッタークラス名を更新することを忘れないでください。

于 2013-01-06T21:08:36.690 に答える