Language

RetryAttribute クラス

定義

この属性は、失敗した場合のテスト メソッドの再試行回数を設定するために使用されます。

[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class RetryAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.RetryBaseAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class RetryAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.RetryBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type RetryAttribute = class
    inherit RetryBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type RetryAttribute = class
    inherit RetryBaseAttribute
Public NotInheritable Class RetryAttribute
Inherits RetryBaseAttribute
継承
RetryAttribute
属性

注釈

テスト クラスに適用すると、クラスで宣言されたすべてのテスト メソッドの既定値として属性が使用されます。 テスト メソッドに直接配置 RetryAttribute は、クラス レベルの値よりも優先されます (メソッド レベルの値は、大きいか小さいかに関係なく、クラス レベルの値を完全に置き換えます)。 属性は継承されません。基本テスト クラスに適用しても、派生テスト クラスには適用されません。

再試行は、試行の少なくとも 1 つの Microsoft.VisualStudio.TestTools.UnitTesting.TestResult が Failed または Timeout 結果を持っている間に実行されます。 再試行は、試行が失敗せず、タイムアウトした結果が生成されないとすぐに停止します。 データ ドリブン テスト (試行ごとに複数の結果) の場合、これは集計ルールです。 Inconclusive の結果 (たとえば、テストが Assert.Inconclusive()を呼び出した場合) は、同じ試行が失敗またはタイムアウトになった場合にのみ再試行が終了します。それ以外の場合は、試行が再試行されます。 最後の試行の結果がテストの最終的な結果になります。

この属性は、1 つのテスト ホスト実行内で再試行します。 これは、テスト ホスト全体を再呼び出す Microsoft.Testing.Extensions.Retry--retry-failed-tests オーケストレーターとは独立しています。 両方が同時に有効になっている場合、試行回数は乗算されるため (テストは最大 (MaxRetryAttempts + 1) x (--retry-failed-tests + 1) 回実行できます)、意図されていない限り、それらを組み合わせないでください。

コンストラクター

名前 説明
RetryAttribute(Int32)

指定された最大再試行回数を使用して、 RetryAttribute クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
BackoffType

遅延バックオフの種類を取得または設定します。

MaxRetryAttempts

失敗した場合にテストで行う再試行回数を取得します。 RetryAttribute が考慮される前に、テストは既に 1 回実行されていることに注意してください。 このプロパティは、最初の通常の実行後の再試行の最大数を決定します。

MillisecondsDelayBetweenRetries

再試行間隔 (ミリ秒単位) を取得または設定します。 この遅延は、最初の実行後と最初の再試行の前にも適用されます。

メソッド

名前 説明
ExecuteAsync(RetryContext)

テスト メソッドを再試行します。 再試行の実行方法の詳細は、派生クラスに任されています。 メソッドの最初の実行は既に実行されており、このメソッドが呼び出される前に失敗しました。

(継承元 RetryBaseAttribute)

適用対象