Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Te funkcje wymagają zainstalowania dodatkowych pakietów NuGet zgodnie z opisem w każdej sekcji.
Wskazówka
W przypadku korzystania z Microsoft.Testing.Platform.MSBuild (dołączonego tranzytywnie przez narzędzia uruchomieniowe MSTest, NUnit i xUnit), te rozszerzenia są automatycznie rejestrowane podczas instalowania pakietów NuGet — bez konieczności wprowadzania zmian w kodzie. Rejestracja ręczna określona w tym artykule jest wymagana tylko w przypadku wyłączenia automatycznie wygenerowanego punktu wejścia przez ustawienie<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Nazwy plików raportu
Każde rozszerzenie raportowania zapisuje swój plik w katalogu wyników testów, który można określić za pomocą opcji --results-directory. Aby zastąpić nazwę, użyj odpowiedniej --report-*-filename opcji. Każda sekcja raportu zawiera domyślną nazwę tego raportu.
Nazwa pliku może zawierać ścieżkę względną, która pozostaje w katalogu wyników testów, i może użyć następujących elementów zastępczych (symboli zastępczych):
| Placeholder | Opis |
|---|---|
{asm} |
Nazwa zestawu wpisu lub unknown gdy jest niedostępna. |
{tfm} |
Identyfikator platformy docelowej wykryty w czasie wykonywania, na przykład net9.0. |
{arch} |
Architektura procesu, taka jak x64, x86lub arm64. |
{pname} |
Nazwa procesu. |
{pid} |
Identyfikator procesu. |
{time} |
Sygnatura czasowa o wysokiej precyzji. |
Na przykład --report-trx-filename "{asm}_{tfm}_{arch}.trx" odtwarza domyślną nazwę TRX.
Uwaga / Notatka
W nazwach symboli zastępczych wielkość liter ma znaczenie i są one zapisywane małymi literami. Obsługa symboli zastępczych dla nazw plików raportu jest dostępna w MTP, począwszy od wersji 2.3.0.
Visual Studio raporty testowe (TRX)
Plik wyników testu Visual Studio (lub TRX) jest domyślnym formatem publikowania wyników testu. To rozszerzenie wymaga pakietu NuGet Microsoft.Testing.Extensions.TrxReport .
Rejestracja ręczna
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();
Uwaga / Notatka
W przypadku korzystania z rejestracji ręcznej zarejestruj dostawcę raportów TRX na końcu. Bieżąca implementacja zależy od kolejności rejestracji, dlatego zarejestrowanie jej po wszystkich innych rozszerzeniach gwarantuje, że przechwytuje wszystkie dane testowe.
Uwaga / Notatka
Dostępny w MTP począwszy od wersji 1.9.0 raport TRX zawiera pole testowe Description .
Uwaga / Notatka
Począwszy od wersji 2.3.0 w MTP wyniki TRX są strumieniowo zapisywane na dysku w miarę postępu uruchomienia. Jeśli host testowy ulegnie awarii, plik TRX przechowuje wyniki zebrane przed awarią.
Opcje
| Option | Opis |
|---|---|
--report-trx |
Generuje raport TRX. |
--report-trx-filename |
Nazwa wygenerowanego raportu TRX. Począwszy od MTP 2.3.0, wartością domyślną jest formularz deterministyczny {asm}_{tfm}_{arch}.trx ; przed MTP 2.3.0 wartość domyślna to <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx. Aby dostosować nazwę, zobacz Nazwy plików raportów. |
Raport jest zapisywany w domyślnym folderze TestResults, który można określić za pomocą argumentu wiersza polecenia --results-directory.
Raporty HTML
Raport HTML tworzy interaktywny, samodzielny plik HTML na potrzeby sesji testowej. To rozszerzenie wymaga pakietu NuGet Microsoft.Testing.Extensions.HtmlReport.
Uwaga / Notatka
Dostępne w MTP począwszy od wersji 2.3.0. To rozszerzenie jest eksperymentalne, a jego opcje i format danych wyjściowych mogą ulec zmianie w przyszłej wersji.
Rejestracja ręczna
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddHtmlReportProvider();
Opcje
| Option | Opis |
|---|---|
--report-html |
Generuje raport HTML. |
--report-html-filename |
Nazwa wygenerowanego raportu HTML. Wartość musi kończyć się na .html. Wartość domyślna to {asm}_{tfm}_{arch}.html. Aby dostosować nazwę, zobacz Nazwy plików raportów. Wymaga --report-html. |
Raporty JUnit
Raport JUnit tworzy plik XML zgodny ze standardem JUnit na potrzeby sesji testowej. To rozszerzenie wymaga Microsoft. Testing.Extensions.JUnitReport NuGet package.
Uwaga / Notatka
Dostępne w MTP począwszy od wersji 2.3.0. To rozszerzenie jest eksperymentalne, a jego opcje i format danych wyjściowych mogą ulec zmianie w przyszłej wersji.
Rejestracja ręczna
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddJUnitReportProvider();
Opcje
| Option | Opis |
|---|---|
--report-junit |
Generuje raport XML JUnit. |
--report-junit-filename |
Nazwa wygenerowanego raportu XML JUnit. Wartość musi kończyć się na .xml. Wartość domyślna to {asm}_{tfm}_{arch}.xml. Aby dostosować nazwę, zobacz Nazwy plików raportów. Wymaga --report-junit. |
Raporty CTRF
Raport CTRF tworzy plik JSON, który używa formatu Common Test Report Format na potrzeby sesji testowej. To rozszerzenie wymaga Microsoft. Testing.Extensions.CtrfReport NuGet package.
Uwaga / Notatka
Dostępne w MTP począwszy od wersji 2.3.0. To rozszerzenie jest eksperymentalne, a jego opcje i format danych wyjściowych mogą ulec zmianie w przyszłej wersji.
Rejestracja ręczna
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddCtrfReportProvider();
Opcje
| Option | Opis |
|---|---|
--report-ctrf |
Generuje raport JSON CTRF. |
--report-ctrf-filename |
Nazwa wygenerowanego raportu JSON CTRF. Wartość musi kończyć się na .json. Wartość domyślna to <UserName>_<MachineName>_<assembly>_<tfm>_<timestamp>.ctrf.json. Aby dostosować nazwę, zobacz Nazwy plików raportów. Wymaga --report-ctrf. |
raporty Azure DevOps
Azure DevOps wtyczka raportów rozszerza uruchamianie testów dla deweloperów, którzy hostują swój kod na GitHub, ale bazują na agentach kompilacji Azure DevOps. Dodaje dodatkowe informacje do niepowodzeń, aby pokazać błąd bezpośrednio w GitHub pull request.
To rozszerzenie wymaga pakietu NuGet Microsoft.Testing.Extensions.AzureDevOpsReport .
Rejestracja ręczna
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();
Opcje
| Option | Wersja MTP | Opis |
|---|---|---|
--report-azdo |
1.9.0 | Włącza generator raportów Azure DevOps. Błędy i ostrzeżenia są zapisywane w danych wyjściowych w formacie, który Azure DevOps rozumie. |
--report-azdo-severity |
1.9.0 | Poziom ważności używany dla zgłoszonych zdarzeń. Prawidłowe wartości to error (wartość domyślna) i warning. |
--report-azdo-flaky-history |
2.3.0 | Wyszukuje historię wyników testów w Azure DevOps z ostatnich N dni (1–90) i opatruje zgłoszone niepowodzenia kontekstem niestabilności testów. Wymaga --report-azdo. |
--report-azdo-demote-known-flaky |
2.3.0 | Obniża liczbę błędów, które są wystarczająco niestabilne w oknie historii Azure DevOps (domyślny próg to 25%) z błędów do ostrzeżeń. Wymaga --report-azdo i --report-azdo-flaky-history. |
--report-azdo-quarantine-file |
2.3.0 | Ścieżka do pliku tekstowego zawierającego listę w pełni kwalifikowanych nazw lub wzorców globu testowanych w kwarantannie. Niepowodzenia dopasowania są zgłaszane jako ostrzeżenia. Wymaga --report-azdo. |
--report-azdo-summary |
2.3.0 | Zapisuje podsumowanie zadania w formacie Markdown na końcu testu i przesyła je za pomocą ##vso[task.uploadsummary]. Opcjonalny argument ścieżki pliku zastępuje domyślną lokalizację ({testResultsDir}/azdo-summary-{tfm}.md). Wymaga --report-azdo. |
--report-azdo-stackframe-filter |
2.3.0 | Dodaje wzorce wyrażeń regularnych dopasowywane względem w pełni kwalifikowanego prefiksu typu każdej ramki stosu, które są pomijane, gdy rozszerzenie lokalizuje miejsce wywołania użytkownika, które ma zostać opatrzone adnotacją. Opcja jest powtarzalna, maksymalnie 16 wzorców, a każdy wzorzec jest kompilowany z limitem czasu dopasowania 500 ms. Te wzorce stanowią uzupełnienie prefiksów implementacji asercji MSTest wbudowanych w rozszerzenie. Wymaga --report-azdo. |
--report-azdo-upload-artifacts |
2.3.0 | Przekazuje pliki wyników testów i/lub dodaje tagi kompilacji do Azure DevOps. Prawidłowe wartości to off (wartość domyślna), tags-only, filesi all. |
--report-azdo-upload-artifact-include |
2.3.0 | Uwzględnia pliki podczas przekazywania artefaktów do usługi Azure DevOps za pomocą wzorców glob względem katalogu wyników testów. Wartość domyślna to **/*. Wymaga, aby --report-azdo-upload-artifacts miało wartość inną niż off. |
--report-azdo-upload-artifact-exclude |
2.3.0 | Wyklucza pliki z przekazywania artefaktów Azure DevOps przy użyciu wzorców globu względem katalogu wyników testów. Wymaga, aby --report-azdo-upload-artifacts miało wartość inną niż off. |
--report-azdo-upload-artifact-name |
2.3.0 | Nadpisuje nazwę kontenera artefaktów w usłudze Azure DevOps. Wartość domyślna to TestResults_{assemblyName}_{tfm}. Wymaga, aby --report-azdo-upload-artifacts miało wartość inną niż off. |
--publish-azdo-test-results |
2.3.0 | Publikuje wyniki testów na karcie Azure DevOps Tests. |
--publish-azdo-run-name |
2.3.0 | Ustawia niestandardową nazwę przebiegu testu Azure DevOps na potrzeby publikowania wyników testów na żywo. Wymaga --publish-azdo-test-results. |
Uwaga / Notatka
W kolumnie Wersja MTP jest wyświetlana wersja MTP, w której każda opcja została po raz pierwszy udostępniona w stabilnej kompilacji. Samo rozszerzenie Azure DevOps osiągnęło stabilność w wersji MTP 1.9.0 wraz z --report-azdo i --report-azdo-severity; pozostałe opcje dodano w wersji MTP 2.3.0.
Rozszerzenie automatycznie wykrywa, że działa w środowisku ciągłej integracji( CI), sprawdzając zmienną TF_BUILD środowiskową.
raporty GitHub Actions
Raport GitHub Actions emituje natywne polecenia przepływu pracy GitHub Actions, dzięki czemu uruchomienia testów zapewniają najwyższej jakości obsługę na runnerze: grupy dzienników dla każdego zestawu, adnotacje dotyczące nieudanych i pominiętych testów (widoczne na karcie Adnotacje przepływu pracy oraz — gdy można ustalić lokalizację w kodzie źródłowym — w widoku różnic na karcie Files changed żądania pull request), podsumowanie zadania w formacie Markdown dołączane do pliku wskazanego przez GITHUB_STEP_SUMMARY, a także powiadomienia o wolnych testach.
Rozszerzenie aktywuje się tylko wtedy, gdy uruchomienie odbywa się w GitHub Actions (zmienna środowiskowa GITHUB_ACTIONS ma wartość true) i ustawiono przełącznik --report-gh; w przeciwnym razie nie robi nic. Po aktywowaniu każda funkcja jest domyślnie włączona i można ją wyłączyć osobno za pomocą opcji --report-gh-*.
Uwaga / Notatka
Dostępne w MTP począwszy od wersji 2.3.0. To rozszerzenie jest eksperymentalne, a jego opcje i format danych wyjściowych mogą ulec zmianie w przyszłej wersji.
Rejestracja ręczna
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddGitHubActionsProvider();
Opcje
| Option | Wersja MTP | Opis |
|---|---|---|
--report-gh |
2.3.0 | Włącza generator raportów dla GitHub Actions, dzięki czemu uruchomienia testów emitują polecenia przepływu pracy. Wymaga, aby uruchomienie odbywało się w GitHub Actions. |
--report-gh-groups |
2.3.0 | Włącza lub wyłącza grupy dzienników dla poszczególnych zestawów. Prawidłowe wartości to on (wartość domyślna) i off. Wymaga --report-gh. |
--report-gh-annotations |
2.3.0 | Włącza lub wyłącza adnotacje dla nieudanych i pominiętych testów. Prawidłowe wartości to on (wartość domyślna) i off. Wymaga --report-gh. |
--report-gh-step-summary |
2.3.0 | Włącza lub wyłącza zapisywanie podsumowania zadania w formacie Markdown do pliku wskazanego przez GITHUB_STEP_SUMMARY. Prawidłowe wartości to on (wartość domyślna) i off. Wymaga --report-gh. |
--report-gh-slow-test-notices |
2.3.0 | Włącza lub wyłącza powiadomienia o powolnym teście. Prawidłowe wartości to on (wartość domyślna) i off. Wymaga --report-gh. |
--report-gh-slow-test-threshold |
2.3.0 | Czas, przez jaki test może działać, zanim zostanie wyświetlone ostrzeżenie o wolnym teście. Akceptuje nagą liczbę sekund lub wartość z sufiksem jednostki, takim jak 90s, 2mlub 1.5h. Wartość domyślna to 60s. Wymaga --report-gh. |