네임스페이스: Microsoft.Azure.Workflows.UnitTesting.Definitions
이 클래스는 표준 논리 앱 워크플로에서 트리거에 대한 모의 인스턴스를 만듭니다. 이 클래스는 TriggerMock
정적 출력, 오류 조건 또는 실행 컨텍스트를 기반으로 하는 동적 동작을 사용하여 표준 워크플로를 테스트하기 위한 모의 트리거를 만드는 여러 가지 방법을 제공합니다.
사용법
// Simple trigger mock with success status
var successTrigger = new TriggerMock(TestWorkflowStatus.Succeeded, "HttpTrigger");
// Trigger mock with specific outputs
var outputTrigger = new TriggerMock(
TestWorkflowStatus.Succeeded,
"EmailTrigger",
new MockOutput {
Body = JToken.Parse(@"{""subject"": ""Test Email"", ""from"": ""test@example.com""}")
});
// Failed trigger with error information
var failedTrigger = new TriggerMock(
TestWorkflowStatus.Failed,
"DatabaseTrigger",
new TestErrorInfo(
ErrorResponseCode.ConnectionError,
"Failed to connect to database"
));
// Dynamic trigger that changes behavior based on execution context
var dynamicTrigger = new TriggerMock(
(context) => {
var actionName = context.ActionContext.ActionName;
if (actionName == "ProcessOrder") {
return new TriggerMock(
TestWorkflowStatus.Succeeded,
"OrderTrigger",
new MockOutput { Body = JToken.Parse(@"{""orderId"": 12345}") }
);
}
return new TriggerMock(TestWorkflowStatus.Failed, "OrderTrigger");
},
"ContextAwareTrigger");
생성자
정적 출력이 있는 생성자
정적 출력을 사용하여 TriggerMock
모의 인스턴스를 만듭니다.
public TriggerMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
이름 | 설명 | 유형 | 필수 |
---|---|---|---|
상태 | 모의 트리거 결과 상태 | TestWorkflowStatus | 예 |
이름 | 모의 트리거 이름 | 문자열 | 아니오 |
출력 | 모의 정적 출력 | MockOutput | 아니오 |
// Example: Create a mock trigger with successful status and static outputs
var outputs = new MockOutput {
Body = JToken.Parse(@"{""webhookData"": ""sample payload""}")
};
var triggerMock = new TriggerMock(TestWorkflowStatus.Succeeded, "WebhookTrigger", outputs);
오류 정보가 있는 생성자
정적 오류 정보를 사용하여 모의 인스턴스를 TriggerMock
만듭니다.
public TriggerMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
이름 | 설명 | 유형 | 필수 |
---|---|---|---|
상태 | 모의 트리거 결과 상태 | TestWorkflowStatus | 예 |
이름 | 모의 트리거 이름 | 문자열 | 아니오 |
오류 | 모의 트리거 오류 정보 | TestErrorInfo | 아니오 |
// Example: Create a mock trigger with failed status and error information
var errorInfo = new TestErrorInfo(
ErrorResponseCode.Unauthorized,
"Authentication failed for trigger"
);
var triggerMock = new TriggerMock(TestWorkflowStatus.Failed, "SecureTrigger", errorInfo);
콜백 함수를 사용하여 생성자
동적 출력에 대한 TriggerMock
콜백 함수를 사용하여 모의 인스턴스를 만듭니다.
public TriggerMock(Func<TestExecutionContext, TriggerMock> onGetTriggerMock, string name = null)
이름 | 설명 | 유형 | 필수 |
---|---|---|---|
onGetTriggerMock | 모의 트리거를 가져오는 콜백 함수 | Func<TestExecutionContext, TriggerMock> | 예 |
이름 | 모의 트리거 이름 | 문자열 | 아니오 |
// Example: Create a mock trigger with dynamic outputs based on execution context
var triggerMock = new TriggerMock(
(context) => {
var inputs = context.ActionContext.ActionInputs;
var eventType = inputs["eventType"]?.Value<string>();
// Return different mock based on event type
if (eventType == "priority") {
return new TriggerMock(
TestWorkflowStatus.Succeeded,
"EventTrigger",
new MockOutput { Body = JToken.Parse(@"{""priority"": true}") }
);
}
return new TriggerMock(TestWorkflowStatus.Succeeded, "EventTrigger");
},
"ConditionalEventTrigger");
JSON 생성자
JSON에서 모의 인스턴스를 TriggerMock
만듭니다.
public TriggerMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
이름 | 설명 | 유형 | 필수 |
---|---|---|---|
상태 | 모의 트리거 결과 상태 | TestWorkflowStatus | 예 |
이름 | 모의 트리거 이름 | 문자열 | 아니오 |
출력 | 모의 출력 | MockOutput | 아니오 |
오류 | 모의 오류 | TestErrorInfo | 아니오 |
// Example: Create a mock trigger from JSON
var triggerFromJson = JsonConvert.DeserializeObject<TriggerMock>(File.ReadAllText(mockDataPath));
속성
이름 | 설명 | 유형 | 필수 |
---|---|---|---|
이름 | 모의 작업의 이름 | 문자열 | 아니오 |
상태 | 작업 상태 | TestWorkflowStatus | 아니오 |
출력물 | JSON 형식의 정적 출력 | JToken | 아니오 |
오류 | 작업 오류 | TestErrorInfo | 아니오 |
관련 콘텐츠
- ActionMock 클래스 정의
- TestActionExecutionContext 클래스 정의
- TestErrorInfo 클래스 정의
- TestErrorResponseAdditionalInfo 클래스 정의
- TestExecutionContext 클래스 정의
- TestIterationItem 클래스 정의
- TestWorkflowOutputParameter 클래스 정의
- TestWorkflowRun 클래스 정의
- TestWorkflowRunActionRepetitionResult 클래스 정의
- TestWorkflowRunActionResult 클래스 정의
- TestWorkflowRunTriggerResult 클래스 정의
- TestWorkflowStatus 열거형 정의
- UnitTestExecutor 클래스 정의