Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Návod
Pokud používáte Microsoft.Testing.Platform.MSBuild (zahrnutý nepřímo pomocí MSTest, NUnit a xUnit runnerů), rozšíření pokrytí kódu se automaticky zaregistrují při instalaci jejich balíčků NuGet – není nutná žádná úprava kódu.
Pomocí funkce pokrytí kódu můžete určit, jaký podíl kódu projektu testují automatizované testy, jako jsou jednotkové testy. Aby byly účinné proti chybám, měly by vaše testy zahrnovat nebo obsáhnout velkou část vašeho kódu.
Pokrytí kódu Microsoftu
Analýza pokrytí kódu Microsoftu je možná pro spravovaný (CLR) i nespravovaný (nativní) kód. Podporují se statické i dynamické instrumentace. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.CodeCoverage .
Poznámka:
Ve výchozím nastavení je v rozšíření zakázané nespravované (nativní) pokrytí kódu. V případě potřeby je povolte pomocí příznaků EnableStaticNativeInstrumentation a EnableDynamicNativeInstrumentation.
Další informace o nespravovaném pokrytí kódu naleznete v tématu Statické a dynamické nativní instrumentování.
Důležité
Balíček se dodává s uzavřenou knihovnou Microsoft .NET, která je k dispozici zdarma k použití na základě licenčního modelu.
Další informace o pokrytí kódu společnosti Microsoft najdete na stránce GitHub.
Možnosti
| Možnost | Description |
|---|---|
--coverage |
Ke shromáždění pokrytí kódu použijte nástroj dotnet-coverage. |
--coverage-output |
Název nebo cesta vytvořeného souboru pokrytí. Ve výchozím nastavení je soubor TestResults/<guid>.coverage. |
--coverage-output-format |
Formát výstupního souboru Podporované hodnoty jsou: coverage, xmla cobertura. Výchozí hodnota je coverage. |
--coverage-settings |
nastavení pokrytí kódu XML. |
Další informace o dostupných možnostech najdete v tématu settings a samples.
Poznámka:
Výchozí hodnota IncludeTestAssembly v Microsoft.Testing.Extensions.CodeCoverage je false, zatímco se používá v true VSTest. To znamená, že projekty testů jsou ve výchozím nastavení vyloučené. Další informace najdete v tématu Konfigurace pokrytí kódu.
Kompatibilita verzí
Následující tabulka ukazuje kompatibilitu mezi různými verzemi microsoft.Testing.Extensions.CodeCoverage a Microsoft.Testing.Platform:
| Microsoft.Testing.Extensions.CodeCoverage | Microsoft.Testing.Platform |
|---|---|
| 18.1.x | 2.0.x |
| 18.0.x | 1.8.x |
| 17.14.x | 1.6.2 |
Poznámka:
Nejlepší kompatibilitu a nejnovější funkce doporučujeme používat společně s nejnovějšími verzemi obou balíčků.
Pokrývka
Coverlet Microsoft Testing Platform Integration (coverlet.MTP) je nativní rozšíření pro Microsoft.Testing.Platform, které implementuje coverlet.collector funkce.
Do testovacího project přidejte balíček NuGet coverlet.MTP:
dotnet add package coverlet.MTP
Pokud chcete shromáždit pokrytí kódu, spusťte testy s příznakem --coverlet:
dotnet test --coverlet
Nebo spusťte testovací spustitelný soubor s příznakem --coverlet :
dotnet exec <test-assembly.dll> --coverlet
Po testovacím spuštění coverage.json se vygeneruje soubor obsahující výsledky v aktuálním adresáři.
Možnosti
| Možnost | Description |
|---|---|
--coverlet |
Povolte shromažďování dat pokrytí kódu. |
--coverlet-output-format <format> |
Formáty výstupu pro sestavu pokrytí Podporované formáty: json, lcov, opencover, coberturaa teamcity. Zadejte vícekrát pro zahrnutí více formátů. |
--coverlet-include <filter> |
Zahrnout sestavení, která odpovídají filtrům, například [Assembly]Type. Zadejte vícekrát pro přidání dalších filtrů. |
--coverlet-include-directory <path> |
Zahrňte další adresáře pro zdrojové soubory. Pro přidání dalších adresářů zadejte příkaz vícekrát. |
--coverlet-exclude <filter> |
Vylučte sestavení, která odpovídají filtrům, například [Assembly]Type. Zadejte vícekrát pro přidání dalších filtrů. |
--coverlet-exclude-by-file <pattern> |
Vylučte zdrojové soubory, které odpovídají vzorům globu. Zadejte vícekrát pro přidání dalších vzorů. |
--coverlet-exclude-by-attribute <attribute> |
Vylučte metody nebo třídy zdobené konkrétními atributy. Specifikujte vícekrát, abyste přidali další atributy. |
--coverlet-include-test-assembly |
Zahrňte testovací sestavení do sestavy pokrytí. |
--coverlet-single-hit |
Omezte počet přístupů na jeden pro každé místo v kódu. |
--coverlet-skip-auto-props |
Přeskočte automaticky implementované vlastnosti v pokrytí. |
--coverlet-does-not-return-attribute <attribute> |
Atributy, které označují metody jako nevýrazné. Specifikujte vícekrát, abyste přidali další atributy. |
--coverlet-exclude-assemblies-without-sources <value> |
Vylučte sestavení bez zdrojového kódu. Hodnoty: MissingAll, MissingAnya None. |
Další informace najdete v dokumentaci coverlet.MTP.