Udostępnij za pośrednictwem


UnitTestExecutor, klasa

Ta klasa udostępnia funkcje uruchamiania testów jednostkowych dla standardowych przepływów pracy aplikacji logiki w usłudze Azure Logic Apps z jedną dzierżawą. Klasa służy jako główny punkt wejścia do uruchamiania testów przepływu pracy z pozornymi danymi i niestandardowymi konfiguracjami.

Namespace

Microsoft.Azure.Workflows.UnitTesting

Zastosowanie

Możesz użyć UnitTestExecutor klasy , aby załadować definicje przepływu pracy i uruchomić przepływy pracy przy użyciu danych testowych:

// 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);

Konstruktory

UnitTestExecutor(ciąg, ciąg, ciąg, ciąg, ciąg)

Inicjuje UnitTestExecutor nowe wystąpienie klasy przy użyciu plików przepływu pracy i konfiguracji.

Parametry

Nazwa Typ Opis Obowiązkowy
workflowFilePath sznurek Ścieżka do pliku definicji przepływu pracy Tak
connectionsFilePath sznurek Ścieżka do pliku konfiguracji połączeń Nie.
parametersFilePath sznurek Ścieżka do pliku konfiguracji parametrów Nie.
localSettingsFilePath sznurek Ścieżka do pliku ustawień lokalnych Nie.

Przykład

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

Właściwości

Przepływ pracyUstawienia

Ustawienia definicji przepływu pracy.

Majątek Typ Opis Obowiązkowy
Przepływ pracyUstawienia TestWorkflowSettings Ustawienia konfiguracji dla wykonywania testu przepływu pracy Tak

Metody

RunWorkflowAsync(TestMockDefinition, string, int)

Wykonuje przepływ pracy przy użyciu podanych plików konfiguracji z określonym pozornym wyzwalaczem i pozorem akcji.

Parametry

Nazwa Typ Opis Obowiązkowy Wartość domyślna
testMock TestMockDefinition Test makiety definicji zawierającej pozorny wyzwalacz i pozorowanie akcji Tak -
customCodeFunctionFilePath sznurek Ścieżka do niestandardowego pliku funkcji kodu Nie. zero
timeoutInSeconds (limit czasu) w sekundach int (integer) Konfiguracja limitu czasu w sekundach Nie. DefaultUnitTestTimeoutSeconds

Zwraca

Task<TestWorkflowRun>: zadanie reprezentujące operację asynchroniczną zwracającą wynik przebiegu przepływu pracy.

Przykład

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
);