Číst v angličtině

Sdílet prostřednictvím


Rozšíření pokrytí kódu

Tento článek uvádí a vysvětluje všechna Microsoft Testing Platform rozšíření související se schopností 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 .

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 global tool .NET.

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"