Testovací zprávy

Tyto funkce vyžadují instalaci dalších balíčků NuGet, jak je popsáno v každé části.

Návod

Pokud používáte Microsoft.Testing.Platform.MSBuild (zahrnuté tranzitivně pomocí msTest, NUnit a xUnit runnerů), tato rozšíření se automaticky zaregistrují při instalaci jejich balíčků NuGet – nejsou potřeba žádné změny kódu. Ruční registrace zadaná v tomto článku se vyžaduje pouze v případě, že jste zakázali automaticky vygenerovaný vstupní bod nastavením <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Názvy souborů reportů

Každé rozšíření sestavy zapisuje svůj soubor do adresáře výsledků testů, který lze nastavit pomocí volby --results-directory. Pokud chcete název přepsat, použijte odpovídající --report-*-filename možnost. Každý oddíl sestavy obsahuje výchozí název této sestavy.

Název souboru může obsahovat relativní cestu, která zůstane v adresáři výsledků testu, a může použít následující náhradní položky (zástupné symboly):

Zástupný text Description
{asm} Název sestavení položky nebo unknown pokud není k dispozici.
{tfm} Moniker cílové architektury byl zjištěn za běhu, například net9.0.
{arch} Procesní architektura, například x64, x86nebo arm64.
{pname} Název procesu
{pid} ID procesu.
{time} Časové razítko s vysokou přesností

Například --report-trx-filename "{asm}_{tfm}_{arch}.trx" reprodukuje výchozí název TRX.

Poznámka:

V názvech zástupných symbolů se rozlišují malá a velká písmena. Podpora zástupných symbolů pro názvy souborů sestav je v MTP k dispozici od verze 2.3.0.

Visual Studio testovací zprávy (TRX)

Soubor výsledků testu Visual Studio (nebo TRX) je výchozím formátem pro publikování výsledků testu. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.TrxReport .

Ruční registrace

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

Poznámka:

Při ruční registraci zaregistrujte poskytovatele sestav TRX naposledy. Aktuální implementace závisí na objednávce registrace, takže její registrace po všech ostatních rozšířeních zajistí, že zachytí všechna testovací data.

Poznámka:

V MTP je od verze 1.9.0 k dispozici sestava TRX, která obsahuje pole Description test.

Poznámka:

V MTP jsou od verze 2.3.0 výsledky TRX v průběhu běhu průběžně zapisovány na disk. Pokud dojde k chybovému ukončení testovacího hostitele, soubor TRX uchovává výsledky shromážděné před chybou.

Možnosti

Možnost Description
--report-trx Vygeneruje sestavu TRX.
--report-trx-filename Název vygenerované zprávy TRX. Počínaje MTP 2.3.0 je výchozí deterministický {asm}_{tfm}_{arch}.trx tvar; před MTP 2.3.0 byl výchozí <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx. Chcete-li upravit název, viz Názvy souborů sestav.

Sestava se uloží do výchozí složky TestResults, kterou je možné zadat pomocí argumentu příkazového řádku --results-directory.

HTML sestavy

Sestava HTML vytvoří interaktivní soubor HTML s vlastním obsahem pro testovací relaci. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.HtmlReport.

Poznámka:

K dispozici v MTP od verze 2.3.0. Toto rozšíření je experimentální a jeho možnosti a výstupní formát se můžou v budoucí verzi změnit.

Ruční registrace

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

Možnosti

Možnost Description
--report-html Vygeneruje zprávu ve formátu HTML.
--report-html-filename Název vygenerované sestavy ve formátu HTML. Hodnota musí končit .html. Výchozí hodnota je {asm}_{tfm}_{arch}.html. Chcete-li upravit název, viz Názvy souborů sestav. Vyžaduje --report-html.

Sestavy JUnit

Report JUnit vytvoří soubor XML ve formátu kompatibilním s JUnit pro testovací relaci. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.JUnitReport.

Poznámka:

K dispozici v MTP od verze 2.3.0. Toto rozšíření je experimentální a jeho možnosti a výstupní formát se můžou v budoucí verzi změnit.

Ruční registrace

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

Možnosti

Možnost Description
--report-junit Vygeneruje XML report JUnit.
--report-junit-filename Název vygenerovaného reportu JUnit XML. Hodnota musí končit .xml. Výchozí hodnota je {asm}_{tfm}_{arch}.xml. Chcete-li upravit název, viz Názvy souborů sestav. Vyžaduje --report-junit.

Sestavy CTRF

Sestava CTRF vytvoří soubor JSON, který používá Common Test Report Format pro testovací relaci. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.CtrfReport.

Poznámka:

K dispozici v MTP od verze 2.3.0. Toto rozšíření je experimentální a jeho možnosti a výstupní formát se můžou v budoucí verzi změnit.

Ruční registrace

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

Možnosti

Možnost Description
--report-ctrf Vygeneruje zprávu ve formátu CTRF JSON.
--report-ctrf-filename Název vygenerované sestavy JSON CTRF. Hodnota musí končit .json. Výchozí hodnota je <UserName>_<MachineName>_<assembly>_<tfm>_<timestamp>.ctrf.json. Chcete-li upravit název, viz Názvy souborů sestav. Vyžaduje --report-ctrf.

sestavy Azure DevOps

Plugin pro sestavy Azure DevOps zlepšuje spouštění testů pro vývojáře, kteří hostují svůj kód na GitHubu, ale vytvářejí na agentech sestavení Azure DevOps. Přidává další informace k selháním, aby se chyba zobrazovala přímo v GitHub pull requestu.

Annotace chyb v zobrazení souborů pro GitHub PR

Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.AzureDevOpsReport .

Ruční registrace

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

Možnosti

Možnost Verze protokolu MTP Description
--report-azdo 1.9.0 Povolí generátor sestav Azure DevOps. Chyby a upozornění se zapisují do výstupu ve formátu, který Azure DevOps rozumí.
--report-azdo-severity 1.9.0 Závažnost, která se má použít pro ohlášené události Platné hodnoty jsou error (výchozí) a warning.
--report-azdo-flaky-history 2.3.0 Dotazuje se na historii výsledků testů v Azure DevOps za posledních N dní (1–90) a doplňuje nahlášená selhání o kontext nestability. Vyžaduje --report-azdo.
--report-azdo-demote-known-flaky 2.3.0 Přeřadí selhání, která jsou v okně historie Azure DevOps dostatečně nestabilní (výchozí prahová hodnota je 25 %), z chyb na varování. Vyžaduje --report-azdo a --report-azdo-flaky-history.
--report-azdo-quarantine-file 2.3.0 Cesta k textovému souboru se seznamem plně kvalifikovaných názvů testů v karanténě nebo vzorů glob. Neshody při porovnání jsou hlášeny jako varování. Vyžaduje --report-azdo.
--report-azdo-summary 2.3.0 Zapíše souhrn úlohy Markdownu na konci testovacího spuštění a nahraje ho prostřednictvím ##vso[task.uploadsummary]. Volitelný argument cesty k souboru přepíše výchozí umístění ({testResultsDir}/azdo-summary-{tfm}.md). Vyžaduje --report-azdo.
--report-azdo-stackframe-filter 2.3.0 Přidá vzory regulárních výrazů, které se porovnávají s plně kvalifikovanou předponou typu každého rámce zásobníku volání a které se přeskočí, když rozšíření vyhledává místo volání uživatele, které se má anotovat. Možnost je opakovatelná, až 16 vzorů a každý vzor je zkompilován s časovým limitem shody 500 ms. Tyto vzory doplňují integrované předpony implementací asercí MSTest v rozšíření. Vyžaduje --report-azdo.
--report-azdo-upload-artifacts 2.3.0 Nahraje soubory s výsledky testů a/nebo přidá tagy sestavení do Azure DevOps. Platné hodnoty jsou (výchozí), offtags-only, filesa all.
--report-azdo-upload-artifact-include 2.3.0 Zahrne soubory při nahrávání artefaktů do Azure DevOps pomocí globálních vzorů relativně k adresáři s výsledky testů. Výchozí hodnota je **/*. Vyžaduje --report-azdo-upload-artifacts , aby byla jiná hodnota než off.
--report-azdo-upload-artifact-exclude 2.3.0 Vyloučí soubory z nahrávání artefaktů do Azure DevOps pomocí vzorů glob relativně k adresáři s výsledky testů. Vyžaduje --report-azdo-upload-artifacts , aby byla jiná hodnota než off.
--report-azdo-upload-artifact-name 2.3.0 Přepíše název kontejneru artefaktů Azure DevOps. Výchozí hodnota je TestResults_{assemblyName}_{tfm}. Vyžaduje --report-azdo-upload-artifacts , aby byla jiná hodnota než off.
--publish-azdo-test-results 2.3.0 Publikuje výsledky testů živě na kartě Azure DevOps Tests.
--publish-azdo-run-name 2.3.0 Nastaví vlastní název běhu testů Azure DevOps pro publikování výsledků testů v reálném čase. Vyžaduje --publish-azdo-test-results.

Poznámka:

Sloupec verze MTP uvádí verzi MTP, ve které byla každá možnost poprvé dostupná ve stabilním buildu. Samotné rozšíření Azure DevOps se v MTP 1.9.0 stalo stabilním s --report-azdo a --report-azdo-severity; zbývající možnosti byly přidány v MTP 2.3.0.

Rozšíření automaticky zjistí, že běží v prostředí kontinuální integrace (CI) kontrolou dané proměnné prostředí TF_BUILD.

Přehledy GitHub Actions

Výstup GitHub Actions vydává nativní příkazy workflow GitHub Actions, takže běhy testů poskytují v runneru plnohodnotné prostředí: skupiny protokolů pro jednotlivá sestavení, anotace neúspěšných a přeskočených testů (zobrazené na kartě Annotations workflow a, když se podaří určit umístění ve zdrojovém kódu, i v diffu Files changed pull requestu), souhrn úlohy ve formátu Markdown připojený k souboru, na který odkazuje GITHUB_STEP_SUMMARY, a upozornění na pomalé testy.

Rozšíření se aktivuje pouze když spuštění probíhá v GitHub Actions (proměnná prostředí GITHUB_ACTIONS má hodnotu true) a je nastaven přepínač --report-gh; jinak nedělá nic. Když je tato funkce aktivní, je ve výchozím nastavení povolená a dá se vypnout jednotlivě pomocí možnosti --report-gh-* .

Poznámka:

K dispozici v MTP od verze 2.3.0. Toto rozšíření je experimentální a jeho možnosti a výstupní formát se můžou v budoucí verzi změnit.

Ruční registrace

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

Možnosti

Možnost Verze MTP Description
--report-gh 2.3.0 Povolí generátor sestav GitHub Actions, aby běhy testů generovaly příkazy workflow. Vyžaduje spuštění na GitHub Actions.
--report-gh-groups 2.3.0 Povolí nebo zakáže skupiny protokolování pro každé sestavení. Platné hodnoty jsou on (výchozí) a off. Vyžaduje --report-gh.
--report-gh-annotations 2.3.0 Povolí nebo zakáže poznámky pro neúspěšné a přeskočené testy. Platné hodnoty jsou on (výchozí) a off. Vyžaduje --report-gh.
--report-gh-step-summary 2.3.0 Povolí nebo zakáže zápis souhrnu úlohy Markdownu do souboru, na který GITHUB_STEP_SUMMARYodkazuje . Platné hodnoty jsou on (výchozí) a off. Vyžaduje --report-gh.
--report-gh-slow-test-notices 2.3.0 Povolí nebo zakáže oznámení o pomalých testech. Platné hodnoty jsou on (výchozí) a off. Vyžaduje --report-gh.
--report-gh-slow-test-threshold 2.3.0 Doba, po kterou může test běžet, než je vydáno upozornění na pomalý test. Přijímá holý počet sekund nebo hodnotu s příponou jednotky, například 90s, 2mnebo 1.5h. Výchozí hodnota je 60s. Vyžaduje --report-gh.