Compartir a través de


clase UnitTestExecutor

Esta clase proporciona funcionalidad para ejecutar pruebas unitarias para flujos de trabajo de aplicaciones lógicas estándar en Azure Logic Apps de un solo inquilino. La clase actúa como punto de entrada principal para ejecutar pruebas de flujo de trabajo con datos ficticios y configuraciones personalizadas.

Namespace

Microsoft.Azure.Workflows.UnitTesting

Uso

Puede usar la UnitTestExecutor clase para cargar definiciones de flujo de trabajo y ejecutar los flujos de trabajo mediante datos de prueba:

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

Constructores

UnitTestExecutor(string, string, string, string, string)

Inicializa una nueva instancia para la UnitTestExecutor clase mediante archivos de configuración y flujo de trabajo.

Parámetros

Nombre Tipo Descripción Obligatorio
workflowFilePath cuerda / cadena Ruta de acceso al archivo de definición de flujo de trabajo
connectionsFilePath cuerda / cadena Ruta de acceso al archivo de configuración de conexiones No
parametersFilePath cuerda / cadena Ruta de acceso al archivo de configuración de parámetros No
localSettingsFilePath cuerda / cadena Ruta de acceso al archivo de configuración local No

Ejemplo

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

Propiedades

WorkflowSettings

La configuración de definición del flujo de trabajo.

Propiedad Tipo Descripción Obligatorio
WorkflowSettings TestWorkflowSettings Opciones de configuración para la ejecución de pruebas de flujo de trabajo

Métodos

RunWorkflowAsync(TestMockDefinition, string, int)

Ejecuta un flujo de trabajo mediante los archivos de configuración proporcionados con el desencadenador ficticio y la acción simulada especificadas.

Parámetros

Nombre Tipo Descripción Obligatorio Predeterminado
testMock TestMockDefinition Definición de simulación de prueba que contiene el desencadenador ficticio y la acción simulada -
customCodeFunctionFilePath cuerda / cadena Ruta de acceso al archivo de función de código personalizado No nulo
timeoutInSeconds Int Configuración de tiempo de espera en segundos No DefaultUnitTestTimeoutSeconds

Devoluciones

Task<TestWorkflowRun>: tarea que representa la operación asincrónica que devuelve el resultado de ejecución del flujo de trabajo.

Ejemplo

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