Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье перечислены и описаны все расширения 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-кода. |
Дополнительные сведения о доступных параметрах см. в настройках и примерах .
Заметка
Значение по умолчанию для IncludeTestAssembly
в Microsoft.Testing.Extensions.CodeCoverage - это false
, тогда как в VSTest по умолчанию это было true
. Это означает, что тестовые проекты исключаются по умолчанию. Дополнительные сведения см. в разделе "Настройка покрытия кода".
Покрывало
Важный
Пакет 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"