Freigeben über


UnitTestExecutor-Klasse

Diese Klasse bietet Funktionen zum Ausführen von Komponententests für Standardlogik-App-Workflows in Azure Logic Apps mit einem Mandanten. Die Klasse dient als Haupteinstiegspunkt für die Ausführung von Workflowtests mit simulierten Daten und benutzerdefinierten Konfigurationen.

Namespace

Microsoft.Azure.Workflows.UnitTesting

Verwendung

Sie können die UnitTestExecutor Klasse verwenden, um Workflowdefinitionen zu laden und die Workflows mithilfe von Testdaten auszuführen:

// Initialize with workflow file path
var executor = new UnitTestExecutor("path/to/workflow.json");

// Initialize with all configuration files
var executor = new UnitTestExecutor(
    workflowFilePath: "path/to/workflow.json",
    connectionsFilePath: "path/to/connections.json",
    parametersFilePath: "path/to/parameters.json",
    localSettingsFilePath: "path/to/local.settings.json"
);

// Execute workflow with test mocks
var testMock = new TestMockDefinition
{
    TriggerMock = new TriggerMock { /* trigger configuration */ },
    ActionMocks = new List<ActionMock> { /* action mocks */ }
};

var result = await executor.RunWorkflowAsync(testMock);

Erbauer

UnitTestExecutor(string, string, string, string)

Initialisiert eine neue Instanz für die UnitTestExecutor Klasse mithilfe von Workflow- und Konfigurationsdateien.

Die Parameter

Name Typ BESCHREIBUNG Erforderlich
workflowFilePath Schnur Der Pfad zur Workflowdefinitionsdatei Ja
connectionsFilePath Schnur Der Pfad zur Konfigurationsdatei für Verbindungen Nein
parametersFilePath Schnur Der Pfad zur Parameterkonfigurationsdatei Nein
localSettingsFilePath Schnur Der Pfad zur lokalen Einstellungsdatei Nein

Beispiel

var executor = new UnitTestExecutor(
    workflowFilePath: "MyWorkflow/workflow.json",
    connectionsFilePath: "MyWorkflow/connections.json",
    parametersFilePath: "MyWorkflow/parameters.json",
    localSettingsFilePath: "local.settings.json"
);

Eigenschaften

WorkflowSettings

Die Workflowdefinitionseinstellungen.

Eigentum Typ BESCHREIBUNG Erforderlich
WorkflowSettings TestWorkflowSettings Konfigurationseinstellungen für die Workflowtestausführung Ja

Methodik

RunWorkflowAsync(TestMockDefinition, string, int)

Führt einen Workflow mithilfe der bereitgestellten Konfigurationsdateien mit dem angegebenen Pseudotrigger und der simulierten Aktion aus.

Die Parameter

Name Typ BESCHREIBUNG Erforderlich Standard
testMock TestMockDefinition Die Test-Mockdefinition mit dem Pseudotrigger und der Pseudoaktion Ja -
customCodeFunctionFilePath Schnur Der Pfad zur Datei der benutzerdefinierten Codefunktion Nein NULL
timeoutInSeconds INT Die Timeoutkonfiguration in Sekunden Nein DefaultUnitTestTimeoutSeconds

Rückkehr

Task<TestWorkflowRun>: Eine Aufgabe, die den asynchronen Vorgang darstellt, der das Ergebnis der Workflowausführung zurückgibt.

Beispiel

var testMock = new TestMockDefinition
{
    TriggerMock = new TriggerMock
    {
        Kind = "Http",
        Outputs = new
        {
            body = new { message = "Test message" },
            statusCode = 200
        }
    },
    ActionMocks = new List<ActionMock>
    {
        new ActionMock
        {
            ActionName = "Send_an_email",
            Kind = "Office365Outlook",
            Outputs = new { status = "success" }
        }
    }
};

// Run with default timeout
var result = await executor.RunWorkflowAsync(testMock);

// Run with custom timeout and custom code
var result = await executor.RunWorkflowAsync(
    testMock: testMock,
    customCodeFunctionFilePath: "path/to/custom-functions.js",
    timeoutInSeconds: 120
);