Поделиться через


Расширения покрытия кода

В этой статье перечислены и описаны все расширения Microsoft Testing Platform, связанные с функцией покрытия кода.

Вы можете использовать функцию покрытия кода, чтобы определить, какая доля кода проекта тестируется с помощью закодированных тестов, таких как модульные тесты. Чтобы эффективно защититься от ошибок, тесты должны выполняться или охватывать большую часть кода.

Покрытие кода Майкрософт

Анализ покрытия кода Microsoft возможен как для управляемого (CLR), так и нативного (неуправляемого) кода. Поддерживается как статическое, так и динамическое инструментирование. Это расширение поставляется в составе пакета NuGet Microsoft.Testing.Extensions.CodeCoverage.

Заметка

Неуправляемое (нативное) покрытие кода по умолчанию отключено в расширении. При необходимости используйте флаги EnableStaticNativeInstrumentation и EnableDynamicNativeInstrumentation. Дополнительные сведения о неуправляемом покрытии кода см. в статическом и динамическом нативном инструментировании.

Важный

Пакет поставляется с библиотекой Microsoft .NET, закрытой исходной программой с бесплатной моделью лицензирования.

Дополнительные сведения о охвате кода Майкрософт см. на странице GitHub.

Покрытие Microsoft Code предоставляет следующие варианты:

Выбор Описание
--coverage Соберите покрытие кода с помощью инструмента dotnet-coverage.
--coverage-output Имя или путь создаваемого файла покрытия. По умолчанию файл имеет имя TestResults/<guid>.coverage.
--coverage-output-format Формат выходного файла. Поддерживаемые значения: coverage, xmlи cobertura. По умолчанию используется coverage.
--coverage-settings параметры покрытия XML-кода.

Для получения дополнительной информации о доступных параметрах см. параметры и примеры.

Покрывало

Важный

Пакет NuGet coverlet.collector предназначен специально для VSTest и не может использоваться с Microsoft.Testing.Platform.

В настоящее время нет расширения Coverlet, но вы можете использовать глобальный инструмент .NET Coverlet.

Если вы уже установили глобальное средство Coverlet, теперь можно запустить следующее:

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