Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Queste funzionalità richiedono l'installazione di pacchetti NuGet aggiuntivi, come descritto in ogni sezione.
Suggerimento
Quando si usa Microsoft.Testing.Platform.MSBuild (incluso transitivamente da MSTest, NUnit e runner xUnit), queste estensioni vengono registrate automaticamente quando si installano i pacchetti NuGet, senza necessità di modifiche al codice. La registrazione manuale specificata in questo articolo è necessaria solo se il punto di ingresso generato automaticamente è stato disabilitato impostando <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Nomi file del report
Ogni estensione del report scrive il file nella directory dei risultati del test, che è possibile impostare con l'opzione --results-directory . Per eseguire l'override del nome, usare l'opzione corrispondente --report-*-filename . Ogni sezione del report elenca il nome predefinito per il report.
Un nome file può includere un percorso relativo che rimane all'interno della directory dei risultati del test e può usare i seguenti elementi di sostituzione (segnaposto):
| Segnaposto | Descrzione |
|---|---|
{asm} |
Nome dell'assembly di ingresso, o unknown quando non è disponibile. |
{tfm} |
Identificatore del framework di destinazione rilevato in fase di esecuzione, ad esempio net9.0. |
{arch} |
Architettura del processo, ad esempio x64, x86o arm64. |
{pname} |
Nome del processo. |
{pid} |
ID del processo. |
{time} |
Timestamp ad alta precisione. |
Ad esempio, --report-trx-filename "{asm}_{tfm}_{arch}.trx" riproduce il nome TRX predefinito.
Annotazioni
I nomi segnaposto fanno distinzione tra maiuscole e minuscole e usano lettere minuscole. Il supporto segnaposto per i nomi dei file di report è disponibile in MTP a partire dalla versione 2.3.0.
Report di test di Visual Studio (TRX)
Il file dei risultati del test Visual Studio (o TRX) è il formato predefinito per la pubblicazione dei risultati dei test. Questa estensione richiede il pacchetto NuGet Microsoft.Testing.Extensions.TrxReport .
Registrazione manuale
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();
Annotazioni
Quando si usa la registrazione manuale, registrare il provider di report TRX per ultimo. L'implementazione corrente dipende dall'ordine di registrazione, quindi la registrazione dopo tutte le altre estensioni garantisce che acquisisca tutti i dati di test.
Annotazioni
Disponibile in MTP a partire dalla versione 1.9.0, il report TRX include il campo di test Description .
Annotazioni
Disponibile in MTP a partire dalla versione 2.3.0, il flusso dei risultati TRX viene trasmesso su disco man mano che l'esecuzione procede. Se l'host di test si arresta in modo anomalo, il file TRX mantiene i risultati raccolti prima dell'arresto anomalo.
Options
| Opzione | Descrzione |
|---|---|
--report-trx |
Genera il report TRX. |
--report-trx-filename |
Nome del rapporto TRX generato. A partire da MTP 2.3.0, il valore predefinito è il formato deterministico {asm}_{tfm}_{arch}.trx ; prima di MTP 2.3.0, il valore predefinito era <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx. Per personalizzare il nome, vedere Nomi di file di report. |
Il report viene salvato all'interno della cartella predefinita TestResults che può essere specificata tramite l'argomento della riga di comando --results-directory.
Report in HTML
Il report HTML crea un file HTML interattivo e autonomo per una sessione di test. Questa estensione richiede il pacchetto NuGet Microsoft.Testing.Extensions.HtmlReport.
Annotazioni
Disponibile in MTP a partire dalla versione 2.3.0. Questa estensione è sperimentale e le opzioni e il formato di output potrebbero cambiare in una versione futura.
Registrazione manuale
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddHtmlReportProvider();
Options
| Opzione | Descrzione |
|---|---|
--report-html |
Genera il report HTML. |
--report-html-filename |
Nome del report HTML generato. Il valore deve terminare con .html. Il valore predefinito è {asm}_{tfm}_{arch}.html. Per personalizzare il nome, vedere Nomi di file di report. Richiede --report-html. |
Report JUnit
Il report JUnit crea un file XML compatibile con JUnit per una sessione di test. Questa estensione richiede il pacchetto NuGet Microsoft.Testing.Extensions.JUnitReport.
Annotazioni
Disponibile in MTP a partire dalla versione 2.3.0. Questa estensione è sperimentale e le opzioni e il formato di output potrebbero cambiare in una versione futura.
Registrazione manuale
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddJUnitReportProvider();
Options
| Opzione | Descrzione |
|---|---|
--report-junit |
Genera il report XML JUnit. |
--report-junit-filename |
Nome del report XML JUnit generato. Il valore deve terminare con .xml. Il valore predefinito è {asm}_{tfm}_{arch}.xml. Per personalizzare il nome, vedere Nomi di file di report. Richiede --report-junit. |
Rapporti CTRF
Il report CTRF crea un file JSON che usa Common Test Report Format per una sessione di test. Questa estensione richiede il pacchetto NuGet Microsoft.Testing.Extensions.CtrfReport.
Annotazioni
Disponibile in MTP a partire dalla versione 2.3.0. Questa estensione è sperimentale e le opzioni e il formato di output potrebbero cambiare in una versione futura.
Registrazione manuale
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddCtrfReportProvider();
Options
| Opzione | Descrzione |
|---|---|
--report-ctrf |
Genera il report JSON CTRF. |
--report-ctrf-filename |
Il nome del report JSON CTRF generato. Il valore deve terminare con .json. Il valore predefinito è <UserName>_<MachineName>_<assembly>_<tfm>_<timestamp>.ctrf.json. Per personalizzare il nome, vedere Nomi di file di report. Richiede --report-ctrf. |
I report di Azure DevOps
Azure DevOps plugin di report migliora l'esecuzione dei test per gli sviluppatori che ospitano il codice su GitHub, ma compilano su agenti di compilazione di Azure DevOps. Aggiunge informazioni aggiuntive ai guasti per mostrare il problema direttamente nella pull request di GitHub.
annotazione 
Questa estensione richiede il pacchetto NuGet Microsoft.Testing.Extensions.AzureDevOpsReport .
Registrazione manuale
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();
Options
| Opzione | Versione MTP | Descrzione |
|---|---|---|
--report-azdo |
1.9.0 | Abilita il generatore di report Azure DevOps. Gli errori e gli avvisi vengono scritti nell'output in un formato comprensibile Azure DevOps. |
--report-azdo-severity |
1.9.0 | Gravità da usare per gli eventi segnalati. I valori validi sono error (impostazione predefinita) e warning. |
--report-azdo-flaky-history |
2.3.0 | Interroga la cronologia dei risultati dei test di Azure DevOps degli ultimi N giorni (1-90) e annota gli esiti negativi segnalati con informazioni sul carattere intermittente. Richiede --report-azdo. |
--report-azdo-demote-known-flaky |
2.3.0 | Declassa da errori ad avvisi gli errori intermittenti nella finestra della cronologia di Azure DevOps quando sono sufficientemente frequenti (la soglia predefinita è del 25%). Richiede --report-azdo e --report-azdo-flaky-history. |
--report-azdo-quarantine-file |
2.3.0 | Percorso di un file di testo in cui sono elencati i nomi completi dei test in quarantena o i modelli GLOB. Gli errori corrispondenti vengono segnalati come avvisi. Richiede --report-azdo. |
--report-azdo-summary |
2.3.0 | Scrive un riepilogo del job in Markdown al termine dell'esecuzione del test e lo carica tramite ##vso[task.uploadsummary]. Un argomento percorso file facoltativo sostituisce il percorso predefinito ({testResultsDir}/azdo-summary-{tfm}.md). Richiede --report-azdo. |
--report-azdo-stackframe-filter |
2.3.0 | Aggiunge modelli regex, confrontati con il prefisso di tipo completo di ogni stack frame, ignorati quando l'estensione individua il sito di chiamata dell'utente per aggiungere annotazioni. L'opzione è ripetibile, fino a 16 modelli e ogni modello viene compilato con un timeout di corrispondenza di 500 ms. Questi modelli si aggiungono ai prefissi integrati dell’estensione per l’implementazione delle asserzioni MSTest. Richiede --report-azdo. |
--report-azdo-upload-artifacts |
2.3.0 | Carica i file dei risultati del test e/o aggiunge tag di compilazione a Azure DevOps. I valori validi sono off (impostazione predefinita), tags-only, filese all. |
--report-azdo-upload-artifact-include |
2.3.0 | Include i file nel caricamento dell'artefatto Azure DevOps usando modelli GLOB relativi alla directory dei risultati del test. Di default è **/*. Richiede --report-azdo-upload-artifacts che sia un valore diverso da off. |
--report-azdo-upload-artifact-exclude |
2.3.0 | Esclude i file dal caricamento dell'artefatto Azure DevOps usando modelli GLOB relativi alla directory dei risultati del test. Richiede --report-azdo-upload-artifacts che sia un valore diverso da off. |
--report-azdo-upload-artifact-name |
2.3.0 | Sostituisce il nome del contenitore artefatto di Azure DevOps. Di default è TestResults_{assemblyName}_{tfm}. Richiede --report-azdo-upload-artifacts che sia un valore diverso da off. |
--publish-azdo-test-results |
2.3.0 | Pubblica i risultati dei test nella scheda Azure DevOps Tests. |
--publish-azdo-run-name |
2.3.0 | Imposta un nome di esecuzione di test personalizzato Azure DevOps per la pubblicazione dei risultati del test live. Richiede --publish-azdo-test-results. |
Annotazioni
La colonna versione MTP elenca la versione MTP in cui ogni opzione è diventata disponibile per la prima volta in una build stabile. L'estensione Azure DevOps è diventata stabile in MTP 1.9.0 con --report-azdo e --report-azdo-severity; le opzioni rimanenti sono state aggiunte in MTP 2.3.0.
L'estensione rileva automaticamente che è in esecuzione nell'ambiente di integrazione continua (CI) controllando la TF_BUILD variabile di ambiente.
Report di GitHub Actions
Il report GitHub Actions genera comandi di workflow nativi di GitHub Actions, in modo che le esecuzioni dei test offrano un'esperienza ottimale sul runner: gruppi di log per assembly, annotazioni per i test non riusciti e ignorati (visibili nella scheda Annotations del workflow e, quando la posizione del codice sorgente può essere risolta, nel diff della scheda Files changed della pull request), un riepilogo del job in Markdown aggiunto al file a cui fa riferimento GITHUB_STEP_SUMMARY, e avvisi sui test lenti.
L'estensione viene attivata solo quando l'esecuzione è in GitHub Actions (la GITHUB_ACTIONS variabile di ambiente è true) e l'opzione --report-gh è impostata; in caso contrario, non esegue alcuna operazione. Quando attiva, ogni funzionalità è abilitata per impostazione predefinita e può essere disattivata singolarmente con la relativa --report-gh-* opzione.
Annotazioni
Disponibile in MTP a partire dalla versione 2.3.0. Questa estensione è sperimentale e le opzioni e il formato di output potrebbero cambiare in una versione futura.
Registrazione manuale
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddGitHubActionsProvider();
Options
| Opzione | Versione MTP | Descrzione |
|---|---|---|
--report-gh |
2.3.0 | Abilita il generatore di report GitHub Actions in modo che le esecuzioni di test generano comandi del flusso di lavoro. Richiede che l'esecuzione avvenga su GitHub Actions. |
--report-gh-groups |
2.3.0 | Abilita o disabilita i gruppi di log per ogni assembly. I valori validi sono on (impostazione predefinita) e off. Richiede --report-gh. |
--report-gh-annotations |
2.3.0 | Abilita o disabilita le annotazioni per i test non riusciti e ignorati. I valori validi sono on (impostazione predefinita) e off. Richiede --report-gh. |
--report-gh-step-summary |
2.3.0 | Abilita o disabilita la scrittura di un riepilogo Markdown del processo nel file indicato da GITHUB_STEP_SUMMARY. I valori validi sono on (impostazione predefinita) e off. Richiede --report-gh. |
--report-gh-slow-test-notices |
2.3.0 | Abilita o disabilita gli avvisi di test lenti. I valori validi sono on (impostazione predefinita) e off. Richiede --report-gh. |
--report-gh-slow-test-threshold |
2.3.0 | Tempo di esecuzione di un test prima che venga emesso un avviso di test lento. Accetta un numero bare di secondi o un valore con un suffisso di unità, 90sad esempio , 2mo 1.5h. Il valore predefinito è 60s. Richiede --report-gh. |