

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Test delle funzioni durevoli di Lambda
<a name="durable-testing"></a>

Utilizza gli SDK di test Durable Execution per eseguire e ispezionare le esecuzioni sia localmente che nel cloud. Per la creazione di test, asserzioni, cloud runner, integrazione con la CLI SAM ed esempi completi, consulta [Testing](https://docs.aws.amazon.com/durable-execution/testing/) in the AWS Durable Execution SDK Developer Guide.

## Autorizzazioni IAM per i test sul cloud
<a name="durable-cloud-testing"></a>

Quando utilizzi il cloud runner o `sam remote invoke` per testare una funzione durevole distribuita, il principale chiamante necessita dell'autorizzazione per richiamare la funzione e leggerne la cronologia di esecuzione. Allega le seguenti autorizzazioni al chiamante di prova:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction",
                "lambda:GetDurableExecution",
                "lambda:GetDurableExecutionHistory"
            ],
            "Resource": [
                "arn:aws:lambda:region:account-id:function:function-name",
                "arn:aws:lambda:region:account-id:function:function-name:*"
            ]
        }
    ]
}
```

Sostituisci {{region}} e {{function-name}} con i tuoi valori. {{account-id}}

## Errori di debug
<a name="durable-testing-debugging"></a>

Quando i test falliscono, controlla il risultato dell'esecuzione per capire cosa è andato storto. Controlla lo stato di esecuzione per vedere se la funzione è riuscita, non riuscita o è scaduta. Leggi i messaggi di errore per comprendere la causa dell'errore.

Esamina i risultati delle singole operazioni per scoprire dove il comportamento si discosta dalle aspettative. Controlla i risultati delle fasi per vedere quali valori sono stati prodotti. Verifica l'ordine delle operazioni per confermare le operazioni eseguite nella sequenza prevista. Conta le operazioni per garantire che sia stato creato il giusto numero di passaggi, attese e callback.

I problemi più comuni includono il codice non deterministico che produce risultati diversi durante la riproduzione, lo stato condiviso tramite variabili globali che si interrompe durante la riproduzione e le operazioni mancanti a causa di errori di logica condizionale. Usa i debugger e la registrazione standard per esaminare il codice delle funzioni e tenere traccia del flusso di esecuzione.

Per i test sul cloud, controlla la cronologia di esecuzione in CloudWatch Logs per visualizzare i registri operativi dettagliati. Utilizza il tracciamento per tracciare il flusso di esecuzione tra i servizi e identificare i punti deboli.