Testrapporter

Dessa funktioner kräver installation av ytterligare NuGet-paket, enligt beskrivningen i varje avsnitt.

Tips/Råd

När du använder Microsoft.Testing.Platform.MSBuild (ingår transitivt av MSTest, NUnit och xUnit-löpare) registreras dessa tillägg automatiskt när du installerar deras NuGet-paket – inga kodändringar behövs. Den manuella registrering som anges i den här artikeln krävs bara om du inaktiverade den automatiskt genererade startpunkten genom att ange <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Rapportfilnamn

Varje rapporttillägg skriver sin fil till testresultatkatalogen, som du kan ange med alternativet --results-directory . Om du vill åsidosätta namnet använder du matchningsalternativet --report-*-filename . Varje rapportavsnitt visar standardnamnet för rapporten.

Ett filnamn kan innehålla en relativ sökväg som finns kvar i testresultatkatalogen och kan använda följande ersättningsobjekt (platshållare):

Placeholder Description
{asm} Namn på inmatningssammansättning eller unknown när det inte är tillgängligt.
{tfm} Målramverkets moniker identifierades vid körning, till exempel net9.0.
{arch} Processarkitektur, till exempel x64, x86eller arm64.
{pname} Processnamn.
{pid} Process-ID.
{time} Tidsstämpel med hög precision.

Till exempel --report-trx-filename "{asm}_{tfm}_{arch}.trx" återskapar standard-TRX-namnet.

Anmärkning

Namn på platshållare är skiftlägeskänsliga och skrivs med gemener. Platshållarstöd för rapportfilnamn är tillgängligt i MTP från och med version 2.3.0.

Visual Studio testrapporter (TRX)

Den Visual Studio testresultatfilen (eller TRX) är standardformatet för publicering av testresultat. Det här tillägget kräver NuGet-paketet Microsoft.Testing.Extensions.TrxReport .

Manuell registrering

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();

Anmärkning

När du använder manuell registrering registrerar du TRX-rapportprovidern senast. Den aktuella implementeringen beror på registreringsordningen, så om du registrerar den efter alla andra tillägg ser du till att den samlar in alla testdata.

Anmärkning

TRX-rapporten är tillgänglig i MTP från och med version 1.9.0 och innehåller testfältet Description .

Anmärkning

Tillgängligt i MTP från och med version 2.3.0 skrivs TRX-resultat till disk medan körningen pågår. Om testvärden kraschar bevarar TRX-filen de resultat som samlats in före kraschen.

Alternativ

Alternativ Description
--report-trx Genererar TRX-rapporten.
--report-trx-filename Namnet på den genererade TRX-rapporten. Från och med MTP 2.3.0 är standardvärdet det deterministiska {asm}_{tfm}_{arch}.trx formuläret. Före MTP 2.3.0 var <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trxstandardvärdet . Information om hur du anpassar namnet finns i Rapportfilnamn.

Rapporten sparas i standardmappen TestResults som kan anges via kommandoradsargumentet --results-directory.

HTML-rapporter

HTML-rapporten skapar en interaktiv, fristående HTML-fil för en testsession. Det här tillägget kräver Microsoft. Testing.Extensions.HtmlReport NuGet-paketet.

Anmärkning

Finns i MTP från och med version 2.3.0. Det här tillägget är experimentellt och dess alternativ och utdataformat kan ändras i en framtida version.

Manuell registrering

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddHtmlReportProvider();

Alternativ

Alternativ Description
--report-html Genererar HTML-rapporten.
--report-html-filename Namnet på den genererade HTML-rapporten. Värdet måste sluta med .html. Standardvärdet är {asm}_{tfm}_{arch}.html. Information om hur du anpassar namnet finns i Rapportfilnamn. Kräver --report-html.

JUnit-rapporter

JUnit-rapporten skapar en JUnit-kompatibel XML-fil för en testsession. Det här tillägget kräver Microsoft. Testing.Extensions.JUnitReport NuGet-paketet.

Anmärkning

Finns i MTP från och med version 2.3.0. Det här tillägget är experimentellt och dess alternativ och utdataformat kan ändras i en framtida version.

Manuell registrering

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddJUnitReportProvider();

Alternativ

Alternativ Description
--report-junit Genererar JUnit XML-rapporten.
--report-junit-filename Namnet på den genererade JUnit XML-rapporten. Värdet måste sluta med .xml. Standardvärdet är {asm}_{tfm}_{arch}.xml. Information om hur du anpassar namnet finns i Rapportfilnamn. Kräver --report-junit.

CTRF-rapporter

CTRF-rapporten skapar en JSON-fil som använder det gemensamma testrapportformatet för en testsession. Det här tillägget kräver Microsoft. Testing.Extensions.CtrfReport NuGet-paketet.

Anmärkning

Finns i MTP från och med version 2.3.0. Det här tillägget är experimentellt och dess alternativ och utdataformat kan ändras i en framtida version.

Manuell registrering

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddCtrfReportProvider();

Alternativ

Alternativ Description
--report-ctrf Genererar CTRF JSON-rapporten.
--report-ctrf-filename Namnet på den genererade CTRF JSON-rapporten. Värdet måste sluta med .json. Standardvärdet är <UserName>_<MachineName>_<assembly>_<tfm>_<timestamp>.ctrf.json. Information om hur du anpassar namnet finns i Rapportfilnamn. Kräver --report-ctrf.

Azure DevOps rapporter

Azure DevOps rapportplugin förbättrar testkörningen för utvecklare som är värdar för sin kod på GitHub, men använder Azure DevOps byggagenter. Den tillhandahåller mer information om fel för att visa dessa direkt i GitHub PR.

Felanmärkningar i GitHub PR-filernas vy

Det här tillägget kräver NuGet-paketet Microsoft.Testing.Extensions.AzureDevOpsReport .

Manuell registrering

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();

Alternativ

Alternativ MTP-version Description
--report-azdo 1.9.0 Aktiverar Azure DevOps rapportgenerator. Fel och varningar skrivs till utdata i ett format som Azure DevOps förstår.
--report-azdo-severity 1.9.0 Allvarlighetsgrad att använda för rapporterade händelser. Giltiga värden är error (standard) och warning.
--report-azdo-flaky-history 2.3.0 Hämtar Azure DevOps-testresultathistorik för de senaste N dagarna (1–90) och annoterar rapporterade misslyckanden med kontext om instabilitet. Kräver --report-azdo.
--report-azdo-demote-known-flaky 2.3.0 Nedgraderar misslyckanden som är tillräckligt instabila i historikfönstret i Azure DevOps (standardtröskelvärdet är 25 %) från fel till varningar. Kräver --report-azdo och --report-azdo-flaky-history.
--report-azdo-quarantine-file 2.3.0 Sökväg till en textfil som listar fullständigt kvalificerade namn för test i karantän eller globmönster. Misslyckanden vid matchning rapporteras som varningar. Kräver --report-azdo.
--report-azdo-summary 2.3.0 Skriver en Markdown-jobbsammanfattning i slutet av testkörningen och laddar upp den via ##vso[task.uploadsummary]. Ett valfritt filsökvägsargument åsidosätter standardplatsen ({testResultsDir}/azdo-summary-{tfm}.md). Kräver --report-azdo.
--report-azdo-stackframe-filter 2.3.0 Lägger till regexmönster som matchas mot det fullständigt kvalificerade typprefixet för varje stackframe och som ignoreras när tillägget letar upp användarens anropsställe för att annotera. Alternativet är repeterbart, upp till 16 mönster, och varje mönster kompileras med en tidsgräns på 500 ms matchning. Dessa mönster läggs till utöver tilläggets inbyggda prefix för MSTest-assertionsimplementering. Kräver --report-azdo.
--report-azdo-upload-artifacts 2.3.0 Laddar upp testresultatfiler och/eller lägger till byggtaggar i Azure DevOps. Giltiga värden är off (standard), tags-only, filesoch all.
--report-azdo-upload-artifact-include 2.3.0 Innehåller filer i Azure DevOps artefaktuppladdning med hjälp av globmönster i förhållande till katalogen för testresultat. Standardinställningen är **/*. Kräver --report-azdo-upload-artifacts att vara ett annat värde än off.
--report-azdo-upload-artifact-exclude 2.3.0 Exkluderar filer från Azure DevOps artefaktuppladdning med hjälp av globmönster i förhållande till katalogen med testresultat. Kräver --report-azdo-upload-artifacts att vara ett annat värde än off.
--report-azdo-upload-artifact-name 2.3.0 Åsidosätter namnet på artefaktcontainern i Azure DevOps. Standardinställningen är TestResults_{assemblyName}_{tfm}. Kräver --report-azdo-upload-artifacts att vara ett annat värde än off.
--publish-azdo-test-results 2.3.0 Publicerar testresultat live på fliken Azure DevOps Tests.
--publish-azdo-run-name 2.3.0 Anger ett anpassat Azure DevOps testkörningsnamn för live-testresultatpublicering. Kräver --publish-azdo-test-results.

Anmärkning

Kolumnen MTP-version listar MTP-versionen där varje alternativ först blev tillgängligt i en stabil version. Själva Azure DevOps-tillägget blev stabilt i MTP 1.9.0 med --report-azdo och --report-azdo-severity; de återstående alternativen lades till i MTP 2.3.0.

Tillägget identifierar automatiskt att det körs i en CI-miljö (continuous integration) genom att kontrollera TF_BUILD miljövariabeln.

rapporter för GitHub Actions

Rapporten för GitHub Actions genererar GitHub Actions-interna arbetsflödeskommandon så att testkörningar ger en förstklassig upplevelse i runnern: logggrupper per samling, annoteringar för misslyckade och överhoppade tester (visas på fliken Annotations i arbetsflödet och, när källplatsen kan fastställas, i pull requestens diff under Files changed), en Markdown-jobbsammanfattning som läggs till i filen som refereras av GITHUB_STEP_SUMMARY, och aviseringar om långsamma tester.

Tillägget aktiveras endast när körningen är på GitHub Actions (GITHUB_ACTIONSmiljövariabeln är true) och växeln --report-gh har angetts. Annars gör den ingenting. När den är aktiv aktiveras varje funktion som standard och kan inaktiveras individuellt med dess --report-gh-* alternativ.

Anmärkning

Finns i MTP från och med version 2.3.0. Det här tillägget är experimentellt och dess alternativ och utdataformat kan ändras i en framtida version.

Manuell registrering

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddGitHubActionsProvider();

Alternativ

Alternativ MTP-version Description
--report-gh 2.3.0 Aktiverar GitHub Actions rapportgenerator så att testkörningar genererar arbetsflödeskommandon. Kräver att körningen måste köras på GitHub Actions.
--report-gh-groups 2.3.0 Aktiverar eller inaktiverar logggrupper för varje sammansättning. Giltiga värden är on (standard) och off. Kräver --report-gh.
--report-gh-annotations 2.3.0 Aktiverar eller inaktiverar anteckningar för misslyckade och överhoppade tester. Giltiga värden är on (standard) och off. Kräver --report-gh.
--report-gh-step-summary 2.3.0 Aktiverar eller inaktiverar skrivning av en Markdown-jobbsammanfattning till filen som refereras av GITHUB_STEP_SUMMARY. Giltiga värden är on (standard) och off. Kräver --report-gh.
--report-gh-slow-test-notices 2.3.0 Aktiverar eller inaktiverar meddelanden om långsamma tester. Giltiga värden är on (standard) och off. Kräver --report-gh.
--report-gh-slow-test-threshold 2.3.0 Den tid som ett test kan köras innan ett meddelande om långsamt test genereras. Accepterar ett antal sekunder eller ett värde med ett enhetssuffix, till exempel 90s, 2meller 1.5h. Standardvärdet är 60s. Kräver --report-gh.