Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Подсказка
При использовании Microsoft.Testing.Platform.MSBuild (включается транзитивно msTest, NUnit и xUnit runners), расширения покрытия кода регистрируются автоматически при установке пакетов NuGet — изменения кода не требуются.
Вы можете использовать функцию анализа покрытия кода, чтобы определить, какая доля кода вашего проекта тестируется с помощью программных тестов, таких как модульные тесты. Чтобы эффективно защититься от ошибок, тесты должны проводиться и охватывать большую часть вашего кода.
Покрытие кода Майкрософт
Анализ покрытия кода Microsoft возможен как для управляемого (CLR), так и неуправляемого (нативного) кода. Поддерживается статическое и динамическое инструментирование. Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.CodeCoverage .
Замечание
Покрытие кода неуправляемого (нативного) типа в расширении по умолчанию отключено. При необходимости активируйте флаги EnableStaticNativeInstrumentation и EnableDynamicNativeInstrumentation.
Дополнительные сведения о покрытии кода для неуправляемых программ см. в статическом и динамическом собственном инструментировании.
Это важно
Пакет поставляется с библиотекой Microsoft .NET с закрытым исходным кодом и моделью лицензирования, свободной для использования.
Дополнительные сведения о охвате кода Майкрософт см. на странице GitHub.
Options
| Опция | Description |
|---|---|
--coverage |
Соберите данные о покрытии кода с помощью инструмента dotnet-coverage. |
--coverage-output |
Имя или путь создаваемого файла покрытия. По умолчанию файл имеет значение TestResults/<guid>.coverage. |
--coverage-output-format |
Формат выходного файла. Поддерживаемые значения: coverage, xmlи cobertura. По умолчанию — coverage. |
--coverage-settings |
параметры покрытия XML-кода. |
Дополнительные сведения о доступных параметрах см. в разделе settings и samples.
Замечание
Значение по умолчанию для IncludeTestAssembly в Microsoft.Testing.Extensions.CodeCoverage - это false, тогда как в VSTest по умолчанию это было true. Это означает, что тестовые проекты исключаются по умолчанию. Дополнительные сведения см. в разделе Code Coverage configuration.
Совместимость версий
В следующей таблице показана совместимость различных версий 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 |
Замечание
Для обеспечения оптимальной совместимости и новейших функций рекомендуется использовать последние версии обоих пакетов вместе.
Покрывало
Интеграция c Coverlet Microsoft Testing Platform (coverlet.MTP) — это нативное расширение для Microsoft.Testing.Platform, реализующее coverlet.collector функциональность.
Добавьте пакет NuGet coverlet.MTP в тестовый проект:
dotnet add package coverlet.MTP
Чтобы собрать покрытие кода, выполните тесты с флагом --coverlet :
dotnet test --coverlet
Или запустите тестовый исполняемый файл с флагом --coverlet :
dotnet exec <test-assembly.dll> --coverlet
После тестового coverage.json запуска файл, содержащий результаты, создается в текущем каталоге.
Options
| Опция | Description |
|---|---|
--coverlet |
Включите сбор данных покрытия кода. |
--coverlet-output-format <format> |
Форматы выходных данных для отчета о охвате. Поддерживаемые форматы: json, , lcovopencover, coberturaи teamcity. Укажите несколько раз, чтобы включить несколько форматов. |
--coverlet-include <filter> |
Включите сборки, соответствующие фильтрам, например [Assembly]Type. Укажите несколько раз, чтобы добавить дополнительные фильтры. |
--coverlet-include-directory <path> |
Включите дополнительные каталоги для исходных файлов. Укажите несколько раз, чтобы добавить больше каталогов. |
--coverlet-exclude <filter> |
Исключите сборки, соответствующие фильтрам, например [Assembly]Type. Укажите несколько раз, чтобы добавить дополнительные фильтры. |
--coverlet-exclude-by-file <pattern> |
Исключите исходные файлы, соответствующие шаблонам глобов. Укажите несколько раз, чтобы добавить дополнительные шаблоны. |
--coverlet-exclude-by-attribute <attribute> |
Исключите методы или классы, украшенные определенными атрибутами. Укажите несколько раз, чтобы добавить больше атрибутов. |
--coverlet-include-test-assembly |
Включите тестовую сборку в отчет о охвате. |
--coverlet-single-hit |
Ограничьте количество попаданий до одного на каждое расположение в коде. |
--coverlet-skip-auto-props |
Пропустить автоматически реализованные свойства в охвате. |
--coverlet-does-not-return-attribute <attribute> |
Атрибуты, которые помечают методы как не возвращаемые. Укажите несколько раз, чтобы добавить больше атрибутов. |
--coverlet-exclude-assemblies-without-sources <value> |
Исключите сборки без исходного кода. Значения: MissingAll, MissingAnyи None. |
Дополнительные сведения см. в документации по coverlet.MTP.