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 , xml a 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"