> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/it/automazione/tests.md).

# Test

Esegua e riveda suite di test Pester direttamente in PowerShell Universal, tenendo traccia dei risultati storici per singoli file di test e per intere esecuzioni di test.

> Questa funzionalità richiede una [licenza](/powershell-universal/it/licensing.md).

PowerShell Universal si integra con [Pester](https://pester.dev/) per eseguire suite di test dal repository e conservarne i risultati. Utilizzi **Run > Tests** per individuare i file di test, avviare esecuzioni, pianificarle e rivedere i risultati storici.

## Individuazione dei test

PowerShell Universal esamina il repository in modo ricorsivo alla ricerca di file denominati `*.tests.ps1`. I file individuati compaiono nella scheda **Test Files**. Crei o modifichi i file da **Build > Scripts**, quindi aggiorni i file di test quando il contenuto del repository cambia.

Utilizzi la vista a cartelle per sfogliare i file di test individuati in base alle rispettive cartelle del repository. Selezioni una cartella per limitare l'elenco dei file a quella posizione, oppure selezioni **Tests** per tornare a tutti i file.

## Preparare un ambiente di esecuzione

Installi Pester in ogni ambiente di esecuzione che eseguirà i test. Un'esecuzione ha esito negativo quando `Invoke-Pester` non è disponibile nell'ambiente selezionato.

Le variabili d'ambiente configurate per l'ambiente di esecuzione selezionato sono disponibili durante l'esecuzione di Pester. Ciò consente ai test di utilizzare valori di configurazione senza codificarli in modo fisso nei file di test. Tratti i valori sensibili come segreti e li recuperi tramite la configurazione appropriata di PowerShell Universal.

## Eseguire i test dalla console di amministrazione

1. Vada a **Run > Tests**.
2. Selezioni **Run Test** per un singolo file, oppure **Run All Tests** per eseguire i file di test individuati.
3. Scelga la credenziale, l'ambiente di esecuzione e il computer o il gruppo di computer da utilizzare.
4. Selezioni **Run**. L'esecuzione si apre nella vista dei risultati mentre è in coda o in corso.

Può eseguire un singolo file di test, una cartella del repository o un percorso con caratteri jolly. Quando è selezionata una cartella, PowerShell Universal esegue i file corrispondenti `*.tests.ps1` e `*.test.ps1` al suo interno.

## Eseguire i test con PowerShell

Utilizzi `Invoke-PSUTest` per avviare un'esecuzione di Pester da uno script, un terminale o un flusso di lavoro di automazione. Passi un percorso o un oggetto `TestFile`.

```powershell
Invoke-PSUTest -Path '.\tests\api.tests.ps1'
```

Selezioni un sottoinsieme di test Pester tramite tag, tag esclusi o nomi completi dei test.

```powershell
Invoke-PSUTest -Path '.\tests\api.tests.ps1' `
    -Tag Smoke `
    -ExcludeTag Slow `
    -Test 'API returns 200'
```

Per impostazione predefinita, il cmdlet restituisce il record dell'esecuzione di test appena creata. Aggiunga `-Wait` per attendere un'esecuzione completata o non riuscita. `-Timeout` imposta il limite di attesa in secondi e per impostazione predefinita è 300. Aggiunga `-IncludeSuite` per restituire sia l'esecuzione di test sia i dettagli analizzati della suite di test.

```powershell
$result = Invoke-PSUTest -Path '.\tests\api.tests.ps1' -Wait -IncludeSuite
$result.TestRun
$result.TestSuite
```

Utilizzi `-Environment` quando i test richiedono un ambiente di esecuzione specifico.

## Pianificare le esecuzioni dei test

Crei esecuzioni Pester pianificate da **Run > Tests** selezionando **Create Schedule**. I test supportano pianificazioni semplici, continue, cron e una sola volta. Selezioni il percorso del test da eseguire e le stesse opzioni di esecuzione utilizzate per le altre automazioni pianificate, incluse le impostazioni di ambiente di esecuzione, credenziale e computer.

I percorsi di test pianificati vengono convalidati rispetto al repository prima dell'esecuzione. Mantenga i percorsi all'interno del repository e si assicuri che il file, la cartella o il carattere jolly a cui si fa riferimento corrisponda a uno o più file di test.

## Rivedere i risultati dei test

Ogni esecuzione di test registra il proprio stato, gli orari di inizio e fine, i totali, i fallimenti, gli errori, i test ignorati e i dettagli degli errori di esecuzione. PowerShell Universal scrive l'output di Pester in formato NUnit XML e archivia i risultati analizzati della suite e dei singoli casi di test, in modo che rimangano disponibili al termine dell'esecuzione.

Apra un'esecuzione di test da **Run > Tests > Test Results** per esaminare il risultato complessivo e approfondire suite e singoli casi. Le esecuzioni storiche rimangono disponibili per confronto e risoluzione dei problemi.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/it/automazione/tests.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
