Расширения покрытия кода
В этой статье перечислены и описаны все расширения 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"