Очень короткий пост о том, как начать отслеживать покрытие кода тестами на примере MSTest.
1. Устанавливаем расширение Coverage Gutters для VS Code. Пользователи vim и neovim простите, сегодня пост не для вас.
2. Переходим в проект с тестами и добавляем библиотеку coverlet.msbuild.
dotnet add package coverlet.msbuild --version 6.0.2
3. Выполняем команду.
dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura
4. Смотрим отчёт.
Calculating coverage result...
Generating report '..\coverage.cobertura.xml'
+-------------+------+--------+--------+
| Module | Line | Branch | Method |
+-------------+------+--------+--------+
| SomeProject | 100% | 100% | 100% |
+-------------+------+--------+--------+
+---------+------+--------+--------+
| | Line | Branch | Method |
+---------+------+--------+--------+
| Total | 100% | 100% | 100% |
+---------+------+--------+--------+
| Average | 100% | 100% | 100% |
+---------+------+--------+--------+
5. Жмём кнопку Watch в тулбаре VS Code (рис. 1) и изучаем покрытые и непокрытые участки кода. Они подсвечиваются зелёным и красным соответственно (рис. 2).
Поздравляю, вы великолепны!
При необходимости, результаты отчёта можно прикрутить в CI/CD в GitLab и отслеживать насколько хорошо покрыт тестами новый код из мердж реквестов (рис. 3).


