RetryAttribute 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 특성은 실패 시 테스트 메서드에 대한 재시도 횟수를 설정하는 데 사용됩니다.
[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 테스트 메서드에 직접 배치되는 것이 클래스 수준 1보다 우선합니다(메서드 수준 값은 클래스 수준 값이 더 크든 작든 관계없이 클래스 수준 값을 완전히 대체함). 특성은 상속되지 않습니다. 기본 테스트 클래스에 적용해도 파생된 테스트 클래스에는 적용되지 않습니다.
하나 이상의 Microsoft.VisualStudio.TestTools.UnitTesting.TestResult 시도에 결과 또는 Timeout 결과가 있는 동안 재시 Failed 도가 수행됩니다. 다시 시도는 실패하지 않고 시간 초과 결과가 생성되지 않는 즉시 중지됩니다. 데이터 기반 테스트(시도당 여러 결과)의 경우 집계 규칙입니다. 결과(예: Inconclusive 테스트 호출 Assert.Inconclusive()시)는 형제 중 어느 것도 동일한 시도가 실패하거나 시간이 초과되지 않은 경우에만 재시도를 종료합니다. 그렇지 않으면 시도가 계속 다시 시도됩니다. 마지막 시도의 결과는 테스트의 최종 결과가 됩니다.
이 특성은 단일 테스트 호스트 실행 내에서 다시 시도합니다. 전체 테스트 호스트를 Microsoft.Testing.Extensions.Retry--retry-failed-tests 다시 호출하는 오케스트레이터와는 독립적입니다. 둘 다 동시에 사용하도록 설정되면 시도 횟수가 곱해지므로(테스트가 최대 시간까지 (MaxRetryAttempts + 1) x (--retry-failed-tests + 1) 실행될 수 있음) 의도된 경우가 아니면 결합하지 마십시오.
생성자
| Name | Description |
|---|---|
| RetryAttribute(Int32) |
지정된 최대 재시도 횟수를 사용하여 클래스의 RetryAttribute 새 인스턴스를 초기화합니다. |
속성
| Name | Description |
|---|---|
| BackoffType |
지연 백오프 유형을 가져오거나 설정합니다. |
| MaxRetryAttempts |
실패 시 테스트가 수행해야 하는 재시도 횟수를 가져옵니다. RetryAttribute를 고려하기 전에 테스트가 이미 한 번 실행되었습니다. 이 속성은 첫 번째 일반 실행 후 최대 재시도 횟수를 결정합니다. |
| MillisecondsDelayBetweenRetries |
재시도 사이의 지연 시간(밀리초)을 가져오거나 설정합니다. 이 지연은 첫 번째 실행 후와 첫 번째 다시 시도 전에도 적용됩니다. |
메서드
| Name | Description |
|---|---|
| ExecuteAsync(RetryContext) |
테스트 메서드를 다시 시도합니다. 다시 시도가 수행되는 방법에 대한 세부 정보는 파생 클래스에 맡깁니다. 이 메서드가 호출되기 전에 메서드의 첫 번째 실행이 이미 실행되고 실패했습니다. (다음에서 상속됨 RetryBaseAttribute) |