Condividi tramite


Classe UnitTestExecutor

Questa classe fornisce funzionalità per eseguire unit test per i flussi di lavoro dell'app per la logica Standard in App per la logica di Azure a tenant singolo. La classe funge da punto di ingresso principale per l'esecuzione di test del flusso di lavoro con dati fittizi e configurazioni personalizzate.

Namespace

Microsoft.Azure.Workflows.UnitTesting

Uso

È possibile usare la UnitTestExecutor classe per caricare le definizioni del flusso di lavoro ed eseguire i flussi di lavoro usando i dati di test:

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

Costruttori

UnitTestExecutor(string, string, string, string)

Inizializza una nuova istanza per la UnitTestExecutor classe utilizzando i file di flusso di lavoro e di configurazione.

Parametri

Nome TIPO Descrizione Obbligatorio
workflowFilePath corda Percorso del file di definizione del flusso di lavoro
connectionsFilePath corda Percorso del file di configurazione delle connessioni NO
parametersFilePath corda Percorso del file di configurazione dei parametri NO
localSettingsFilePath corda Percorso del file delle impostazioni locali NO

Esempio

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

Proprietà

WorkflowSettings

Impostazioni di definizione del flusso di lavoro.

Proprietà TIPO Descrizione Obbligatorio
WorkflowSettings TestWorkflowSettings Impostazioni di configurazione per l'esecuzione del test del flusso di lavoro

Metodi

RunWorkflowAsync(TestMockDefinition, string, int)

Esegue un flusso di lavoro usando i file di configurazione forniti con il trigger fittizio e l'azione fittizia specificati.

Parametri

Nome TIPO Descrizione Obbligatorio Impostazione predefinita
testMock TestMockDefinition Definizione fittizia del test contenente il trigger fittizio e l'azione fittizia -
customCodeFunctionFilePath corda Percorso del file di funzione del codice personalizzato NO nullo
timeoutInSeconds Int Configurazione del timeout in secondi NO DefaultUnitTestTimeoutSeconds

Restituzioni

Task<TestWorkflowRun>: attività che rappresenta l'operazione asincrona che restituisce il risultato dell'esecuzione del flusso di lavoro.

Esempio

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