Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varje rapportalternativ kräver det tilläggspaket som anges i respektive avsnitt. Lägg till paketet direkt eller använd en test-SDK-konfiguration eller profil som innehåller det. Rapporttillägg är inte en del av MTP-kärnan, så ett alternativ som --report-trx är okänt när testprogrammet inte registrerar tillägget. Kör testprogrammet med --helpeller kör dotnet test --help i MTP-läge för att bekräfta att ett alternativ är tillgängligt.
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.
Om det redan finns ett standard- eller explicit TRX-, HTML- eller JUnit-filnamn för en testkälla varnar tillägget och skriver över filen. Från och med förhandsversionen av MTP 2.4 använder CTRF samma beteende. Om du vill behålla rapporthistoriken inkluderar du {time}.
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.
Konsolidering av rapporter
Från och med MTP 2.4.0 efterprocessar MTP automatiskt rapportartefakter efter att ett dotnet test anrop har kört flera testmoduler eller efter att återförsöksstöd har kört flera försök. Funktionen är experimentell i MTP 2.4.0.
TRX-, JUnit-, CTRF- och HTML-tilläggen grupperar kompatibla artefakter efter rapporttyp och skriver en konsoliderad rapport under underkatalogen för testresultatkatalogen merged . CTRF-konsolidering kombinerar modulresultat och komprimerar återförsök till det slutliga testresultatet med återförsökshistorik. HTML-konsolidering skapar en sammanslagen sammanfattning och bevarar de ursprungliga rapporterna per process.
För anpassade rapporttillägg exponerar det experimentella IArtifactPostProcessor API:et separata TestModules lägen och RetryAttempts bearbetningslägen. Mer information finns i TilläggenIArtifactPostProcessor.
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.
Från och med förhandsversionen av MTP 2.4 bevarar en MTP-genererad TRX MSTest [WorkItem] och [GitHubWorkItem] metadata.
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.
Från och med MSTest.Sdk 4.3 aktiverar du det här tillägget med <EnableMicrosoftTestingExtensionsJUnitReport>true</EnableMicrosoftTestingExtensionsJUnitReport>. Tillägget är inte en del av MSTest.Sdk-profilerna Default eller AllMicrosoft .
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. |
Från och med förhandsversionen av MTP 2.4 bevarar CTRF varje resultat när flera tester använder samma UID. Den innehåller även testspecifika bilagor och bilagor från tidigare försök och utläser deras MIME-typer från filnamnen.
För nya tester korrelerar CTRF endast försök när relationen är entydig. Den registrerar sedan tidigare försök i retryAttempts, anger retriesoch markerar ett senare lyckat resultat som flaky: true. Tvetydiga resultat med samma UID förblir separata så att rapporten inte associerar diagnostik med fel test.
Sammanfattningen i terminalen identifierar instabila och omkörda tester. TRX- och JUnit-rapporter behåller ett slutligt resultat per test i stället för att registrera varje försök.
Azure DevOps rapporter
Azure DevOps-rapporttillägget integrerar MTP-testkörningar med Azure-pipelines. Den formaterar fel och varningar för pipelineloggar, lägger till anteckningar för misslyckade och överhoppade tester, skapar en Markdown-jobbsammanfattning och kan gruppera utdata efter testsammansättning. Tillägget kan också identifiera flagnande eller karantänfel, ladda upp testartefakter och strömma resultat till en Azure DevOps testkörning.
När du är värd för koden på GitHub men kör tester på Azure-pipelines agenter kan felanteckningar visas direkt i GitHub pull-begäran:
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-groups |
2.4.0 | Aktiverar eller inaktiverar logggrupper för varje sammansättning. När de är aktiverade visas testsammansättningens utdata i ett hopfällbart avsnitt i Azure-pipelines loggen. Giltiga värden är on och off. MTP 2.4.0-förhandsversioner har som standard on; den stabila MTP 2.4.0-versionen har som standard off. Kräver --report-azdo. |
--report-azdo-annotations |
2.4.0 | Aktiverar eller inaktiverar anteckningar för misslyckade och överhoppade tester. Giltiga värden är on (standard) och off. Kräver --report-azdo. |
--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-slow-test-history |
2.3.0 | Hämtar historiken för Azure DevOps-testresultat för det angivna antalet dagar och sänker tröskelvärdet per test för tester som fortfarande körs för tester med en känd kort körtid. Accepterar exakt ett heltal från 1 till 90. Med tillräckligt många historiska exempel är tröskelvärdet det lägre på 60 sekunder och den historiska p99-varaktigheten multiplicerat med den konfigurerade multiplikatorn. Kräver --report-azdo. |
--report-azdo-slow-test-history-min-sample |
2.3.0 | Anger det minsta antalet historiska exempel som krävs innan tillägget använder ett tests historik för att justera tröskelvärdet för långsamma tester eller lägga till historikinformation till utdatalinjer för långsamma tester. Accepterar exakt ett heltal större än eller lika med 1. Standardvärdet är 10. Kräver --report-azdo-slow-test-history. |
--report-azdo-slow-test-history-multiplier |
2.3.0 | Anger multiplikatorn som tillämpas på ett tests historiska p99-varaktighet för att beräkna tröskelvärdet för långsamt test. Accepterar exakt ett flyttalsvärde för invariant kultur som är större än 0 och högst 10 000. Standardvärdet är 3. Kräver --report-azdo-slow-test-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-{assembly}-{tfm}-{arch}.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 | Strömmar resultat till en Azure DevOps testkörning när testerna har slutförts. Fliken Tester för bygget listar den slutförda körningen. |
--publish-azdo-run-name |
2.3.0 | Anger ett anpassat Azure DevOps testkörningsnamn för live-testresultatpublicering. Kräver --publish-azdo-test-results. |
Varning
Aktivera inte grupper när flera testsammansättningar körs parallellt.
##[group] Azure DevOps och ##[endgroup] formateringskommandon är sekventiella och anonyma. Samtidiga sammansättningsutdata kan sammanfläta, orsaka felaktig gruppkapsling och placera rader under fel sammansättning. Om du använder en förhandsversion av MTP 2.4.0 anger du --report-azdo-groups off för att inaktivera grupper. Den stabila MTP 2.4.0-versionen inaktiverar grupper som standard. Ange --report-azdo-groups on endast för en enskild sammanställning eller serialiserad körning av sammanställning.
Anmärkning
I kolumnen MTP-version visas den första MTP-versionen som innehåller varje alternativ. 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 eller 2.4.0.
Tillägget identifierar automatiskt att det körs i en ci-miljö (kontinuerlig integrering) genom att kontrollera TF_BUILD miljövariabeln.
Important
Azure DevOps historikfrågor kräver TF_BUILD=true, SYSTEM_COLLECTIONURI, SYSTEM_TEAMPROJECT, SYSTEM_ACCESSTOKENoch BUILD_DEFINITIONID. Om något värde saknas fortsätter MTP utan historikdata, hoppar över flaky-history-anteckningar och använder det statiska tröskelvärdet på 60 sekunder för långsamma testlinjer.
Livepublicering med --publish-azdo-test-results kräver TF_BUILD=true, SYSTEM_COLLECTIONURI, SYSTEM_TEAMPROJECT, SYSTEM_ACCESSTOKENoch BUILD_BUILDID. Om något värde saknas eller är ogiltigt varnar MTP och publicerar inte testkörningen.
Från och med MTP 2.4.0 sammanställer Azure DevOps Markdown-sammanfattningar resultaten för varje testmodul i ett dotnet test anrop. När du även aktiverar kodtäckning innehåller sammanfattningen täckta och totala antal, procentandelar, tröskelresultat och en indikator när täckningsdata är partiella.
I förhandsversionen av MTP 2.4 laddar livepublicering automatiskt upp bifogade filer för misslyckade testresultat till testresultaten i Azure DevOps. Misslyckade utfall omfattar misslyckade, felaktiga, tidsutlöpta och avbrutna utfall.
När ett resultat levererar standardutdata eller standardfel kan tillägget bifoga upp till 256 KiB från vardera inline-ström. Varje filbaserad bilaga är begränsad till 16 MiB.
Tillägget laddar också upp filer på körningsnivå .coverage, .cobertura.xml och .opencover.xml som bilagor för kodtäckning. Dessa bilagor för testkörningar och resultat är separata från --report-azdo-upload-artifacts, som laddar upp valda filer som buildartefakter i Azure-pipelines.
För nya tester publicerar Azure DevOps tidigare försök som underresultat och kopplar varje försöks artefakter till underresultatet som skapade dem. Om det inte finns någon säker korrelation för återförsök publicerar tillägget ett separat resultat i stället för att släppa det.
När live-publicering skapar körningen skrivs URL:en för körningen ut så att du kan följa resultaten innan den slutförs. Den skickar också pipelineReference och startdatum när pipelinemiljön tillhandahåller dem. Byggets flik Tester listar inte en pågående körning; den listar körningen först efter att den har slutförts.
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.
Det här tillägget kräver Microsoft. Testing.Extensions.GitHubActionsReport NuGet-paketet.
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.
Important
Alternativet --report-gh tillhör Microsoft.Testing.Extensions.GitHubActionsReport.
GitHubActionsTestLogger-paketet innehåller ett annat alternativ, --report-github. Alternativen är inte alias och fungerar bara när testprojektet registrerar paketet som äger alternativet.
Anmärkning
Tillägget är tillgängligt från och med MTP 2.3.0. Från och med MTP 2.4.0 är dess offentliga startpunkter inte längre experimentella.
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 | Styr om tillägget skriver en Markdown-jobbsammanfattning till filen som refereras av GITHUB_STEP_SUMMARY. Giltiga värden är on (standard), offoch börjar med MTP 2.4.0, on-failure. Kräver --report-gh. |
--report-gh-step-summary-sections |
2.4.0 | Väljer sammanfattningsinnehåll. Giltiga värden är test-results, slow-tests, coverageoch all (standard). Kräver --report-gh och ett annat sammanfattningsläge än off. |
--report-gh-failure-details |
2.4.0 | Aktiverar eller inaktiverar begränsad felinformation i jobbsammanfattningen. Använd on (standard) eller off. Information omfattar meddelandet, undantagstypen, källplatsen och stackspårningen när det är tillgängligt. Kräver --report-gh. |
--report-gh-history |
2.4.0 | Läser och uppdaterar en begränsad lokal ögonblicksbild av testhistoriken på den angivna filsökvägen. Arbetsflödet måste ladda ned den tidigare ögonblicksbilden innan körningen och ladda upp den uppdaterade filen efteråt. Kräver --report-gh. |
--report-gh-history-window |
2.4.0 | Anger det bevarade historikfönstret från 1 till 90 dagar. Standardvärdet är 30 dagar. Kräver --report-gh-history. |
--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. |
Från och med MTP 2.4.0 sammanställer GitHub Actions Markdown-sammanfattningar resultaten för varje testmodul i ett dotnet test anrop. När du också aktiverar kodtäckning väljer du coverage eller all för att inkludera antal täckta och totala, procenttal, tröskelvärdesresultat och en indikator som visar när täckningsdata är ofullständiga.
Detaljer om fel ryms inom gränserna för meddelande, stack, felantal och fullständig sammanfattning. När innehållet överskrider en gräns trunkerar eller komprimerar rapporten den och anger den minskning i sammanfattningen.