Sdílet prostřednictvím


Rozšíření pokrytí kódu

Tento článek uvádí a vysvětluje všechna rozšíření Microsoft.Testing.Platform související s funkcí pokrytí kódu.

Pomocí funkce pokrytí kódu můžete zjistit, jaký podíl kódu vašeho projektu je testován kódovanými 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í se dodává jako součást balíčku 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 zdrojovou knihovnou Microsoft .NET s modelem licence k bezplatnému použití.

Další informace o pokrytí kódu Microsoftu najdete na stránce GitHubu.

Microsoft Code Coverage nabízí následující možnosti:

Možnost Popis
--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 viz nastavení a vzorky .

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

Důležitý

Balíček NuGet coverlet.collector je navržený speciálně pro VSTest a nelze ho použít s Microsoft.Testing.Platform.

V současné době neexistuje žádné rozšíření Coverlet, ale můžete použít Coverlet .NET globální nástroj.

Za předpokladu, že jste už nainstalovali globální nástroj Coverlet, můžete teď spustit:

coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"