Compartilhar via


Classe UnitTestExecutor

Essa classe fornece funcionalidade para executar testes de unidade para fluxos de trabalho de aplicativo lógico Standard nos Aplicativos Lógicos do Azure de locatário único. A classe serve como o ponto de entrada principal para executar testes de fluxo de trabalho com dados fictícios e configurações personalizadas.

Namespace

Microsoft.Azure.Workflows.UnitTesting

Uso

Você pode usar a UnitTestExecutor classe para carregar definições de fluxo de trabalho e executar os fluxos de trabalho usando dados de teste:

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

Construtores

UnitTestExecutor(string, string, string, string)

Inicializa uma nova instância para a UnitTestExecutor classe usando arquivos de fluxo de trabalho e configuração.

Parâmetros

Nome Tipo Descrição Obrigatório
workflowFilePath corda O caminho para o arquivo de definição de fluxo de trabalho Sim
connectionsFilePath corda O caminho para o arquivo de configuração de conexões Não
parametersFilePath corda O caminho para o arquivo de configuração de parâmetros Não
localSettingsFilePath corda O caminho para o arquivo de configurações local Não

Exemplo

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

Propriedades

WorkflowSettings

As configurações de definição de fluxo de trabalho.

Propriedade Tipo Descrição Obrigatório
WorkflowSettings TestWorkflowSettings Configurações para a execução de teste do fluxo de trabalho Sim

Métodos

RunWorkflowAsync(TestMockDefinition, string, int)

Executa um fluxo de trabalho usando os arquivos de configuração fornecidos com o gatilho fictício especificado e a ação simulada.

Parâmetros

Nome Tipo Descrição Obrigatório Padrão
testMock TestMockDefinition A definição simulada de teste que contém o gatilho fictício e a ação simulada Sim -
customCodeFunctionFilePath corda O caminho para o arquivo de função de código personalizado Não nulo
timeoutInSeconds int A configuração de tempo limite em segundos Não DefaultUnitTestTimeoutSeconds

Devoluções

Task<TestWorkflowRun>: uma tarefa que representa a operação assíncrona que retorna o resultado da execução do fluxo de trabalho.

Exemplo

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