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í s funkcí pokrytí kódu.

Pomocí funkce pokrytí kódu můžete určit, jaká část kódu vašeho projektu je testována programovými testy, jako jsou testy jednotek. Abyste se mohli účinně bránit proti chybám, vaše testy by měly pokrýt nebo zahrnovat 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í instrumentace.

Důležitý

Balíček se dodává s uzavřenou knihovnou Microsoft .NET, která je volně použitelná podle licenčního modelu.

Další informace o pokrytí kódu od společnosti Microsoft naleznete na její stránce GitHub.

Pokrytí kódem společnosti Microsoft nabízí následující možnosti:

Možnost Popis
--coverage Shromážděte pokrytí kódu pomocí nástroje dotnet-coverage.
--coverage-output Název nebo cesta k souboru s pokrytím, který byl vytvořen. 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 nastavení a ukázkách .

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"