На этой странице рассказывается о свежих обновлениях и изменениях в dotCover.
Доступна бесплатная пробная версия на 30 дней
Мы переработали процесс непрерывного тестирования, чтобы его было удобнее использовать.
Раньше каждый сеанс юнит-тестирования можно было преобразовать в сеанс непрерывного тестирования. Это вызывало путаницу, когда были запущены несколько сеансов.
В новой версии существует только один отдельный сеанс непрерывного тестирования. Благодаря этому разобраться в процессе тестирования и управлять им стало проще.
В dotCover добавлена новая иконка непрерывного тестирования в ReSharper и Rider. Она показывает текущее состояние тестирования, в том числе наличие тестов, которые завершились с ошибкой. Кроме того, она дает доступ к нескольким быстрым действиям: отключение и включение непрерывного тестирования, просмотр результатов покрытия, переключение подсветки кода и т. п.
В новой версии можно выполнять анализ покрытия юнит-тестов и приложений на основе фреймворка MAUI. В настоящее время dotCover поддерживает только десктопные приложения WinUI для .NET 7.0+ в Windows. Это относится и к автономному dotCover, и к dotCover в ReSharper и Rider.
Мы улучшили подсветку кода в dotCover, встроенном в Rider и ReSharper: добавили новые цвета фона и новую иконку на полях редактора для частично покрытых строк, а также внесли некоторые другие небольшие изменения.
Инструменты командной строки dotCover теперь поставляются в виде кросс-платформенного инструмента для фреймворка .NET.
Этот инструмент используется по умолчанию в сценариях CI/CD, заменяя прежний.
Теперь непрерывное тестирование можно запустить, просто нажав нужное сочетание клавиш. Раньше сделать это напрямую было нельзя: запуск происходил при сборке или сохранении проекта. Эта функция доступна и в Visual Studio с ReSharper, и в JetBrains Rider.
Теперь dotCover можно использовать в Windows на процессорах ARM64. Это относится ко всем версиям dotCover: и к автономной версии, и к инструменту, запускаемому в Rider, Visual Studio и из консоли.
Теперь можно использовать консольную версию dotCover в Linux на процессорах ARM32. Поддерживаемые фреймворки — .NET Core 3.1 и .NET 5.0–7.0.
В контекстные меню dotCover в редакторе кода и окне Unit Test Coverage добавлено действие Show Covering Tests. При выборе этого действия появляется всплывающее окно со всеми тестами, покрывающими код. Во всплывающем окне можно запустить сессию анализа покрытия.
В новой версии dotCover копирует только сборки и символьные файлы, необходимые для непрерывного тестирования в Visual Studio и JetBrains Rider. В результате повышается общая производительность dotCover, особенно на больших проектах, поскольку не приходится копировать рабочую директорию целиком. При необходимости в настройках dotCover можно настроить фильтр файлов для теневого копирования.
Раньше, чтобы проанализировать покрытие кода тестами Unity, нужно было перезапустить движок Unity с включенной поддержкой анализа покрытия. Начиная с этой версии, перезапускать Unity не нужно, а анализ покрытия тестами поддерживается по умолчанию.
Чтобы быстро просмотреть результаты анализа покрытия для текущего файла, используйте значок щита на скроллбаре. Нажав на этот значок, вы перейдете к непокрытым операторам.
Консольный инструмент dotCover теперь поддерживает Alpine версий 3.13–3.15. Поддерживаются следующие процессоры и фреймворки:
Мы добавили новые виды отчетов с информацией о покрытии для каждого теста: FileCoverageXml
, DetailedFileCoverageXml
, FileCoverageJson
и DetailedFileCoverageJson
.
Новые отчеты включают три секции:
Files
— с информацией о покрытых исходниках. Подробные отчеты также содержат информацию о покрытых диапазонах в каждом файле. TestLists
— с информацией о тестах, сгруппированной по наборам тестов. Tests
— с подробной информацией по каждому тесту. Теперь вы можете исключать выборочные строки или фрагменты кода из анализа покрытия при помощи комментариев. Есть несколько способов сделать это:
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
Какой бы вариант вы ни выбрали, нужно указать пакет JetBrains.dotCover.MSBuild NuGet
в качестве зависимости. Он необходим только при разработке и не будет включаться в проект во время исполнения.
Мы улучшили обработку данных о покрытии. В частности, теперь при запуске из консоли (с IncludePerTest=true
) отчеты генерируются намного быстрее.
Консольный инструмент dotCover теперь работает на компьютерах с процессорами Apple Silicon. Он поддерживает анализ покрытия приложений .NET 6 (нативный режим) и приложений .NET 5 (режим «Rosetta 2»).
В dotCover Rider появилась новая метрика Code Vision, показывающая количество пройденных и упавших тестов для каждого члена типа. Через уведомления Code Vision теперь можно запускать и отлаживать тесты, а также считать покрытие.
Глобальный .NET-инструмент теперь поддерживает команды merge и report.
Консольный инструмент dotCover стал работать быстрее — анализ покрытия теперь занимает меньше времени.
Инструмент запуска dotCover из консоли умеет собирать информацию о каждом из тестов и включать ее в генерируемые отчеты. В данный момент поддерживается запуск тестов при помощи dotnet test
, dotnet vstest
, vstest.console.exe
. Пример: dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"
Теперь ReSharper позволяет настраивать фильтры покрытия в Visual Studio так же, как в JetBrains Rider.
Вы можете установить и использовать инструмент запуска dotCover из консоли как глобальный dotnet-инструмент: dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0
Используйте его для анализа покрытия кода ваших проектов .NET Core и юнит-тестов.
Доступна бесплатная пробная версия на 30 дней