Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Пространство имен: 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
Создает макет экземпляра из TriggerMock JSON.
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