你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
命名空间: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)
名称 | DESCRIPTION | 类型 | 必选 |
---|---|---|---|
地位 | 模拟触发器结果状态 | 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)
名称 | DESCRIPTION | 类型 | 必选 |
---|---|---|---|
地位 | 模拟触发器结果状态 | 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)
名称 | DESCRIPTION | 类型 | 必选 |
---|---|---|---|
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)
名称 | DESCRIPTION | 类型 | 必选 |
---|---|---|---|
地位 | 模拟触发器结果状态 | TestWorkflowStatus | 是的 |
姓名 | 模拟触发器名称 | 字符串 | 否 |
输出 | 模拟输出 | MockOutput | 否 |
错误 | 模拟错误 | TestErrorInfo | 否 |
// Example: Create a mock trigger from JSON
var triggerFromJson = JsonConvert.DeserializeObject<TriggerMock>(File.ReadAllText(mockDataPath));
性能
名称 | DESCRIPTION | 类型 | 必选 |
---|---|---|---|
名称 | 模拟作的名称 | 字符串 | 否 |
状态 | 作状态 | TestWorkflowStatus | 否 |
输出 | JSON 格式的静态输出 | JToken | 否 |
错误 | 作错误 | TestErrorInfo | 否 |
相关内容
- ActionMock 类定义
- TestActionExecutionContext 类定义
- TestErrorInfo 类定义
- TestErrorResponseAdditionalInfo 类定义
- TestExecutionContext 类定义
- TestIterationItem 类定义
- TestWorkflowOutputParameter 类定义
- TestWorkflowRun 类定义
- TestWorkflowRunActionRepetitionResult 类定义
- TestWorkflowRunActionResult 类定义
- TestWorkflowRunTriggerResult 类定义
- TestWorkflowStatus 枚举定义
- UnitTestExecutor 类定义