Class RetryMetadata
Represents metadata about test retry behavior and configuration.
public sealed class RetryMetadata
- Inheritance
-
RetryMetadata
- Inherited Members
Remarks
This metadata helps identify flaky tests that pass only after retry, tests with timing issues that consistently pass on the Nth retry, and patterns indicating test reliability problems.
Properties
AdditionalMetadata
Gets the additional retry-related metadata.
public Dictionary<string, string> AdditionalMetadata { get; }
Property Value
Remarks
Used for framework-specific or custom retry attribute properties. Examples: retry filter types, exception types to retry on, custom conditions.
AttemptNumber
Gets or sets the current attempt number for this test execution.
public int AttemptNumber { get; set; }
Property Value
Remarks
1 = first run (no retry), 2 = first retry, 3 = second retries, etc. This enables analysis of "pass on Nth attempt" patterns.
DelayBetweenRetries
Gets or sets the configured delay between retry attempts.
public TimeSpan DelayBetweenRetries { get; set; }
Property Value
Remarks
This is the delay configured in the retry attribute. Actual delay may vary based on framework implementation.
MaxRetries
Gets or sets the maximum number of retries configured for this test.
public int MaxRetries { get; set; }
Property Value
Remarks
This is the total number of retry attempts allowed, not including the initial attempt. For example, MaxRetries = 3 means: 1 initial attempt + 3 retry attempts = 4 total attempts.
PassedOnRetry
Gets or sets whether this test passed after a retry (not on the first attempt).
public bool PassedOnRetry { get; set; }
Property Value
Remarks
False = passed on the first attempt (no retry needed) True = passed after one or more retries (indicates flakiness)
RetryAttributeName
Gets or sets the name of the retry attribute or strategy used.
public string? RetryAttributeName { get; set; }
Property Value
Remarks
Examples: "RetryFact", "Retry", "TestRetry", "CustomRetry" Helps identify which retry mechanism is being used.
RetryReason
Gets or sets the reason for the retry configuration.
public string? RetryReason { get; set; }
Property Value
Remarks
Examples: "Timeout", "NetworkError", "DatabaseContention", "RaceCondition" This is typically extracted from custom retry attributes or attribute properties. May be null if not specified by the test author.