Покрытие Кода: Как Улучшить Качество Тестирования

Наш коллега Скотт Хансельман продолжает исследовать тестирование и покрытие кода в .

NET Core. Он уже рассказывал о некоторых инструментах повышения качества тестирования, а сегодня рассказывает еще об одном: AltCover .

Посмотрите под кат!

Покрытие кода: как улучшить качество тестирования

я даю тебе слово Скотт Хансельман .

Ранее на этой неделе я выехал покрывало .

Существует также широко уважаемый инструмент Открытая обложка И несколько интересных проектов , которые пытаются заставить OpenCover работать с .

NET Core, но только в Windows. Сегодня я буду учиться AltCover Стив Гилэм.

Существуют инструменты обнаружения покрытия, которые используют API профилирования .

NET во время выполнения.

AltCover, с другой стороны, обращается за этим в IL .

Как следует из названия, это альтернативный подход к нанесению покрытия.

Вместо работы через API профилирования .

NET во время выполнения он добавляет тот же самый дополнительный IL к тому, что мы хотим построить перед выполнением.

Это означает, что он должен работать практически где угодно, на любой платформе, если процесс выполнения имеет доступ к изменению файла результатов.

Вы можете комбинировать различные платформы, используемые для инструментирования и тестируемые.

AltCover не только включен в пакет NuGet, но также доступен как часть глобального инструмента .

NET Core, и это здорово.

   
   
   
    

dotnet tool install --global altcover.global

Это позволяет вам использовать команду altcover где угодно, не добавляя ее в свой проект. И все же я собираюсь пройти Руководство по быстрой настройке AltCover и посмотри, как быстро я это сделаю! Я установлю его в свой тестовый проект hanselstandings.core.tests.

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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.