Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przestrzeń nazw: Microsoft.Azure.Workflows.UnitTesting.Definitions
Ta klasa tworzy pozorne wystąpienie wyzwalacza w przepływie pracy standardowej aplikacji logiki. Klasa TriggerMock
udostępnia wiele sposobów tworzenia pozornych wyzwalaczy na potrzeby testowania standardowych przepływów pracy przy użyciu statycznych danych wyjściowych, warunków błędów lub dynamicznego zachowania na podstawie kontekstu wykonywania.
Zastosowanie
// 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");
Konstruktory
Konstruktor ze statycznymi danymi wyjściowymi
Tworzy pozorne wystąpienie dla elementu TriggerMock
z danymi wyjściowymi statycznymi.
public TriggerMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
Nazwa | Opis | Typ | Wymagane |
---|---|---|---|
stan | Stan wyniku makiety wyzwalacza | TestWorkflowStatus | Tak |
nazwa | Nazwa makiety wyzwalacza | sznurek | Nie. |
Wyniki | Pozorne dane wyjściowe statyczne | MockOutput | Nie. |
// 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);
Konstruktor z informacjami o błędzie
Tworzy pozorne wystąpienie programu z TriggerMock
informacjami o błędzie statycznym.
public TriggerMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
Nazwa | Opis | Typ | Wymagane |
---|---|---|---|
stan | Stan wyniku makiety wyzwalacza | TestWorkflowStatus | Tak |
nazwa | Nazwa makiety wyzwalacza | sznurek | Nie. |
błąd | Informacje o błędzie wyzwalacza pozoru | TestErrorInfo | Nie. |
// 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);
Konstruktor z funkcją wywołania zwrotnego
Tworzy pozorne wystąpienie funkcji TriggerMock
wywołania zwrotnego dla dynamicznych danych wyjściowych.
public TriggerMock(Func<TestExecutionContext, TriggerMock> onGetTriggerMock, string name = null)
Nazwa | Opis | Typ | Wymagane |
---|---|---|---|
onGetTriggerMock | Funkcja wywołania zwrotnego umożliwiająca uzyskanie pozornego wyzwalacza | Func<TestExecutionContext, TriggerMock> | Tak |
nazwa | Nazwa makiety wyzwalacza | sznurek | Nie. |
// 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");
Konstruktor JSON
Tworzy pozorne wystąpienie dla z TriggerMock
formatu JSON.
public TriggerMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
Nazwa | Opis | Typ | Wymagane |
---|---|---|---|
stan | Stan wyniku makiety wyzwalacza | TestWorkflowStatus | Tak |
nazwa | Nazwa makiety wyzwalacza | sznurek | Nie. |
Wyniki | Pozorne dane wyjściowe | MockOutput | Nie. |
błąd | Błąd pozorny | TestErrorInfo | Nie. |
// Example: Create a mock trigger from JSON
var triggerFromJson = JsonConvert.DeserializeObject<TriggerMock>(File.ReadAllText(mockDataPath));
Właściwości
Nazwa | Opis | Typ | Wymagane |
---|---|---|---|
Nazwa | Nazwa makiety operacji | sznurek | Nie. |
Stan | Stan operacji | TestWorkflowStatus | Nie. |
Wyniki | Dane wyjściowe statyczne w formacie JSON | JToken | Nie. |
Błąd | Błąd operacji | TestErrorInfo | Nie. |
Treści powiązane
- Definicja klasy ActionMock
- Definicja klasy TestActionExecutionContext
- Definicja klasy TestErrorInfo
- Definicja klasy TestErrorResponseAdditionalInfo
- Definicja klasy TestExecutionContext
- Definicja klasy TestIterationItem
- Definicja klasy TestWorkflowOutputParameter
- TestWorkflowRun, definicja klasy
- Definicja klasy TestWorkflowRunActionRepetitionResult
- Definicja klasy TestWorkflowRunActionResult
- Definicja klasy TestWorkflowRunTriggerResult
- Definicja wyliczenia TestWorkflowStatus
- UnitTestExecutor, definicja klasy