Наш коллега Скотт Хансельман продолжает исследовать тестирование и покрытие кода в .
NET Core. Он уже рассказывал о некоторых инструментах повышения качества тестирования, а сегодня рассказывает еще об одном: AltCover .
Посмотрите под кат!
я даю тебе слово Скотт Хансельман .
Ранее на этой неделе я выехал покрывало .
Существует также широко уважаемый инструмент Открытая обложка И несколько интересных проектов , которые пытаются заставить OpenCover работать с .
NET Core, но только в Windows. Сегодня я буду учиться AltCover Стив Гилэм.
Существуют инструменты обнаружения покрытия, которые используют API профилирования .
NET во время выполнения.
AltCover, с другой стороны, обращается за этим в IL .
Как следует из названия, это альтернативный подход к нанесению покрытия.AltCover не только включен в пакет NuGet, но также доступен как часть глобального инструмента .Вместо работы через API профилирования .
NET во время выполнения он добавляет тот же самый дополнительный IL к тому, что мы хотим построить перед выполнением.
Это означает, что он должен работать практически где угодно, на любой платформе, если процесс выполнения имеет доступ к изменению файла результатов.
Вы можете комбинировать различные платформы, используемые для инструментирования и тестируемые.
NET Core, и это здорово.
Это позволяет вам использовать команду altcover где угодно, не добавляя ее в свой проект. И все же я собираюсь пройти Руководство по быстрой настройке AltCover и посмотри, как быстро я это сделаю! Я установлю его в свой тестовый проект hanselstandings.core.tests.dotnet tool install --global altcover.global
dotnet add package AltCover
а потом я его запущу.
dotnet test /p:AltCover=true
Большой.
Мои тесты выполняются как обычно, но теперь в папке тестов есть файл test.xml. Я также мог бы генерировать отчеты LCov или Cobertura, если бы захотел.
Уже сейчас файл Cover.xml весит почти полмегабайта! В нем много полезной информации, но как мне увидеть результаты в читабельном виде?
Файл находится в формате OpenCover XML, поэтому я могу запустить Генератор отчетов для файла покрытия и в итоге получим целую кучу HTML-файлов.
По сути целый мини-сайт освещения! Я скачал ReportGenerator и поместил его в отдельную папку (это лучшее решение для .
NET Core Global Tool).
c:\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetdir:.
/coverage
Убедитесь, что вы используете хороший targetDir, иначе в папке вашего проекта останутся десятки ненужных HTML-файлов.
Также стоит рассмотреть возможность применения .
gitignoring к полученной папке и файлу покрытия.
Откройте index.htm и оцените всю эту полезную информацию!
Ознакомьтесь с горячими точками риска выше! У меня есть CustomPageHandler со значительным сложность NPath и два выступления со значительным цикломатическая сложность .
Также обратите внимание на отличное покрытие маршрутов, как указано здесь в результатах отчета о покрытии.
Вы можете заметить, что EnableAutoLinks всегда имело значение true, поэтому я проверял только один путь.
Возможно, я проведу здесь отрицательный тест и посмотрю, есть ли какие-либо побочные эффекты, если EnableAutoLinks имеет значение false.
Прочтите полное руководство по использованию AltCover. .
Существует множество способов запуска этого инструмента: от глобальных инструментов, тестов dotnet, задач MSBuild до интеграции с PowerShell! Чтобы просмотреть примеры использования, кликните сюда .
Для ознакомления с режимами работы, кликните сюда .
Чтобы запустить AltCover из теста dotnet, перейдите по ссылке интеграция дотнет-тест. Чтобы запустить AltCover из MSBuild иди сюда .
Для запуска AltCover и связанных с ним инструментов Windows PowerShell или PowerShell Core. иди сюда .
Здесь так много хороших примеров, и мне буквально потребовалось 10 минут, чтобы получить отличный отчет о покрытии с использованием AltCover и .
NET Core. Спасибо Стиву из AltCover! Посещать github.com/SteveGilham/altcover , чтобы поставить звезду, сообщить о проблемах с файлами или предложить помощь! И самое главное, делитесь подобными проектами с открытым исходным кодом со своими друзьями и коллегами.
Теги: #microsoft #github #программирование #Windows #открытый исходный код #тестирование #.
NET #тестирование #код #код #nuget #lcov #coverlet #OpenCover #AltCover #Cobertura
-
Резервное Копирование Удаленного Сервера
19 Oct, 24 -
Как Перемешать Песни?
19 Oct, 24 -
Сталкер. Получил Наследника
19 Oct, 24 -
Композиция По Случаю Возвращения.
19 Oct, 24 -
Телефонное Мошенничество
19 Oct, 24 -
Потоковое Воспроизведение Плейлиста С Дивана
19 Oct, 24 -
Нанософт: Речь Идет О Nanocad
19 Oct, 24