2017-01-11 3 views
1

Junit5の@Repeatアノテーションはどのように構築しますか?Junit5の注釈を繰り返す

また、IDEで繰り返しテストを1つのテストとして報告できるようにしたいと考えています。

各繰り返しは何らかの方法で番号を記録できるので、進捗状況を確認できます。

答えて

0

柔軟なテストの作成を可能にする拡張ポイントがないため、現在のところあなたが求めるものはありません。しかし、あなたはdynamic testsを生み出す実用的な方法で何かをすることができるかもしれません。

+0

繰り返しテストの呼び出しが近づいています。https://github.com/junit-team/junit5/pull/642 – Sormuras

0

通常、テスト全体を再試行する場合は、テスト内の不安定な操作を特定して再試行する方がよいことがわかります。

次のコードでgetResponse()が時々例外をスローすると想像してください。 getResponse()行で例外3回をスローした場合、その後、全体的なテストは最後にスローされた例外で失敗します。この例では

@Test 
void somethingFlaky() { 
    String actual = new RetryTemplate().execute(retryContext -> getResponse()); 
    assertEquals("Hello World!", actual); 
} 

:あなたは(あなたがまたは他の春のプロジェクトずに使用することができます)Spring Retryを使用することができます試みる。 RetryTemplateは、さまざまな異なる再試行ポリシーおよびバックオフポリシー(たとえば、8回再試行、各試行の間に50ミリ秒スリープ、指数バックオフなど)で構成できます。

このようにして、必要に応じてリソースを再試行することができます。テストフレームワークは、ベストプラクティスを実行するためにテストを管理します(フレークなテストターゲットではありません)。

+1

これは良いアプローチのようです –

3

M4以来、JUnitの木星は、繰り返しテストのための第一級のサポートを提供します:

@RepeatedTest(10) 
void repeatedTest() { 
    // ... 
} 

マニュアルおよびその他の例についてはUser Guideを参照してください。

関連する問題