Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье перечислены и описаны все расширения 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. Это означает, что тестовые проекты исключаются по умолчанию. Дополнительные сведения см. в разделе "Настройка покрытия кода".
Совместимость версий
В следующей таблице показана совместимость различных версий Microsoft.Testing.Extensions.CodeCoverage и Microsoft.Testing.Platform:
| Microsoft.Testing.Extensions.CodeCoverage | Microsoft.Testing.Platform |
|---|---|
| 18.1.x | 2.0.x |
| 18.0.x | 1.8.x |
| 17.14.x | 1.6.2 |
Заметка
Для обеспечения оптимальной совместимости и новейших функций рекомендуется использовать последние версии обоих пакетов вместе.
Покрывало
Важный
Пакет 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"