Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Namespace: Microsoft.Azure.Workflows.UnitTesting.Definitions
Diese Klasse erstellt eine Pseudoinstanz für einen Trigger in einem Standardlogik-App-Workflow. Die TriggerMock
Klasse bietet mehrere Möglichkeiten zum Erstellen von Pseudotriggern zum Testen von Standardworkflows mithilfe statischer Ausgaben, Fehlerbedingungen oder dynamischem Verhalten basierend auf dem Ausführungskontext.
Verwendung
// 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");
Erbauer
Konstruktor mit statischen Ausgaben
Erstellt eine Pseudoinstanz für TriggerMock
statische Ausgaben.
public TriggerMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
Name | BESCHREIBUNG | Typ | Erforderlich |
---|---|---|---|
Status | Der Pseudoauslöserergebnisstatus | TestWorkflowStatus | Ja |
Name | Der Pseudotriggername | Schnur | Nein |
Ergebnisse | Die simulierten statischen Ausgaben | MockOutput | Nein |
// 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 mit Fehlerinformationen
Erstellt eine Pseudoinstanz für TriggerMock
statische Fehlerinformationen.
public TriggerMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
Name | BESCHREIBUNG | Typ | Erforderlich |
---|---|---|---|
Status | Der Pseudoauslöserergebnisstatus | TestWorkflowStatus | Ja |
Name | Der Pseudotriggername | Schnur | Nein |
Fehler | Die Pseudotriggerfehlerinformationen | TestErrorInfo | Nein |
// 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 mit Rückruffunktion
Erstellt eine Simulierte Instanz für TriggerMock
eine Rückruffunktion für dynamische Ausgaben.
public TriggerMock(Func<TestExecutionContext, TriggerMock> onGetTriggerMock, string name = null)
Name | BESCHREIBUNG | Typ | Erforderlich |
---|---|---|---|
onGetTriggerMock | Die Rückruffunktion zum Abrufen des Pseudotriggers | Func<TestExecutionContext, TriggerMock> | Ja |
Name | Der Pseudotriggername | Schnur | Nein |
// 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-Konstruktor
Erstellt eine Pseudoinstanz für TriggerMock
JSON.
public TriggerMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
Name | BESCHREIBUNG | Typ | Erforderlich |
---|---|---|---|
Status | Der Pseudoauslöserergebnisstatus | TestWorkflowStatus | Ja |
Name | Der Pseudotriggername | Schnur | Nein |
Ergebnisse | Die simulierten Ausgaben | MockOutput | Nein |
Fehler | Der Simulierte Fehler | TestErrorInfo | Nein |
// Example: Create a mock trigger from JSON
var triggerFromJson = JsonConvert.DeserializeObject<TriggerMock>(File.ReadAllText(mockDataPath));
Eigenschaften
Name | BESCHREIBUNG | Typ | Erforderlich |
---|---|---|---|
Name | Der Name des Pseudovorgangs | Schnur | Nein |
Der Status | Der Vorgangsstatus | TestWorkflowStatus | Nein |
Ausgaben | Die statische Ausgabe im JSON-Format | JToken | Nein |
Fehler | Der Vorgangsfehler | TestErrorInfo | Nein |
Verwandte Inhalte
- ActionMock-Klassendefinition
- TestActionExecutionContext-Klassendefinition
- TestErrorInfo-Klassendefinition
- TestErrorResponseAdditionalInfo-Klassendefinition
- TestExecutionContext-Klassendefinition
- TestIterationItem-Klassendefinition
- TestWorkflowOutputParameter-Klassendefinition
- TestWorkflowRun-Klassendefinition
- TestWorkflowRunActionRepetitionResult-Klassendefinition
- TestWorkflowRunActionResult-Klassendefinition
- TestWorkflowRunTriggerResult-Klassendefinition
- TestWorkflowStatus-Enumerationsdefinition
- UnitTestExecutor-Klassendefinition