Что нового в dotCover

Здесь вы узнаете о новых возможностях в свежих версиях dotCover. Обновления включают в себя усовершенствованную подсветку покрытия кода, непрерывное тестирование для более быстрого получения результатов юнит-тестов, улучшенную поддержку Visual Studio/JetBrains Rider и .NET Core

Скачать

Доступна бесплатная пробная версия на 30 дней

Поддержка приложений MAUI

Поддержка приложений MAUI 2024.1

В новой версии можно выполнять анализ покрытия юнит-тестов и приложений на основе фреймворка MAUI. В настоящее время dotCover поддерживает только десктопные приложения WinUI для .NET 7.0+ в Windows. Это относится и к автономному dotCover, и к dotCover в ReSharper и Rider.

Улучшенная подсветка покрытия

Улучшенная подсветка покрытия 2024.1

Мы улучшили подсветку кода в dotCover, встроенном в Rider и ReSharper: добавили новые цвета фона и новую иконку на полях редактора для частично покрытых строк, а также внесли некоторые другие небольшие изменения.

Улучшенные инструменты командной строки

Улучшенные инструменты командной строки 2023.3

Инструменты командной строки dotCover теперь поставляются в виде кросс-платформенного инструмента для фреймворка .NET.

Этот инструмент используется по умолчанию в сценариях CI/CD, заменяя прежний.

Сочетание клавиш для непрерывного тестирования 2023.1

Теперь непрерывное тестирование можно запустить, просто нажав нужное сочетание клавиш. Раньше сделать это напрямую было нельзя: запуск происходил при сборке или сохранении проекта. Эта функция доступна и в Visual Studio с ReSharper, и в JetBrains Rider.

Поддержка Windows ARM64 2022.3

Теперь dotCover можно использовать в Windows на процессорах ARM64. Это относится ко всем версиям dotCover: и к автономной версии, и к инструменту, запускаемому в Rider, Visual Studio и из консоли.

Поддержка Linux ARM32 2022.3

Теперь можно использовать консольную версию dotCover в Linux на процессорах ARM32. Поддерживаемые фреймворки — .NET Core 3.1 и .NET 5.0–7.0.

Упрощенная навигация к тестам в JetBrains Rider

Упрощенная навигация к тестам в JetBrains Rider 2022.3

В контекстные меню dotCover в редакторе кода и окне Unit Test Coverage добавлено действие Show Covering Tests. При выборе этого действия появляется всплывающее окно со всеми тестами, покрывающими код. Во всплывающем окне можно запустить сессию анализа покрытия.

Ускоренное теневое копирование 2022.3

В новой версии dotCover копирует только сборки и символьные файлы, необходимые для непрерывного тестирования в Visual Studio и JetBrains Rider. В результате повышается общая производительность dotCover, особенно на больших проектах, поскольку не приходится копировать рабочую директорию целиком. При необходимости в настройках dotCover можно настроить фильтр файлов для теневого копирования.

Улучшенная поддержка Unity в JetBrains Rider 2022.3

Раньше, чтобы проанализировать покрытие кода тестами Unity, нужно было перезапустить движок Unity с включенной поддержкой анализа покрытия. Начиная с этой версии, перезапускать Unity не нужно, а анализ покрытия тестами поддерживается по умолчанию.

Быстрый просмотр результатов анализа покрытия в JetBrains Rider

Быстрый просмотр результатов анализа покрытия в JetBrains Rider 2022.2

Чтобы быстро просмотреть результаты анализа покрытия для текущего файла, используйте значок щита на скроллбаре. Нажав на этот значок, вы перейдете к непокрытым операторам.

Поддержка дистрибутивов Linux на основе musl 2022.1

Консольный инструмент dotCover теперь поддерживает Alpine версий 3.13–3.15. Поддерживаются следующие процессоры и фреймворки:

  • x64: .NET Core 3.1, .NET 5.0–6.0;
  • arm64: .NET 5.0–6.0.

Новые виды отчетов о покрытии кода 2022.1

Мы добавили новые виды отчетов с информацией о покрытии для каждого теста: FileCoverageXml, DetailedFileCoverageXml, FileCoverageJson и DetailedFileCoverageJson.

Новые отчеты включают три секции:

  • Files — с информацией о покрытых исходниках. Подробные отчеты также содержат информацию о покрытых диапазонах в каждом файле.
  • TestLists — с информацией о тестах, сгруппированной по наборам тестов.
  • Tests — с подробной информацией по каждому тесту.
Исключение кода из анализа покрытия при помощи комментариев

Исключение кода из анализа покрытия при помощи комментариев 2022.1

Теперь вы можете исключать выборочные строки или фрагменты кода из анализа покрытия при помощи комментариев. Есть несколько способов сделать это:

// 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 в качестве зависимости. Он необходим только при разработке и не будет включаться в проект во время выполнения программы.

Оптимицация производительности 2022.1

Мы улучшили обработку данных о покрытии. В частности, теперь при запуске из консоли (с IncludePerTest=true) отчеты генерируются намного быстрее.

Поддержка процессоров Apple Silicon 2021.3

Консольный инструмент dotCover теперь работает на компьютерах с процессорами Apple Silicon. Он поддерживает анализ покрытия приложений .NET 6 (нативный режим) и приложений .NET 5 (режим «Rosetta 2»).

Метрика Code Vision для покрытия кода

Метрика покрытия кода Code Vision 2021.3

В dotCover Rider появилась новая метрика Code Vision, показывающая количество пройденных и упавших тестов для каждого члена типа. Через уведомления Code Vision теперь можно запускать и отлаживать тесты, а также считать покрытие.

Обновления глобального .NET-инструмента dotCover 2021.3

Глобальный .NET-инструмент теперь поддерживает команды merge и report.

Улучшения производительности 2021.3

Консольный инструмент dotCover стал работать быстрее — анализ покрытия теперь занимает меньше времени.

Информация о покрытии для каждого теста в консоли запуска тестов

Информация о покрытии для каждого теста в консоли запуска тестов 2021.2

Инструмент запуска dotCover из консоли умеет собирать информацию о каждом из тестов и включать ее в генерируемые отчеты. В данный момент поддерживается запуск тестов при помощи dotnet test, dotnet vstest, vstest.console.exe. Пример: dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"

Повышение производительности анализа покрытия

Повышение производительности анализа покрытия 2021.2

  • Теперь dotCover позволяет запускать параллельный анализ покрытия тестовых классов на основе одной сборки. В некоторых случаях это может ускорить анализ покрытия.
  • Для проектов .NET Core и .NET теперь можно делать предварительную загрузку тест-раннеров для юнит-тестов — имея их в памяти, вы сможете быстрее запускать анализ покрытия.
Обновленная поддержка C# 8 и C# 9

Обновления поддержки C# и Unity 2021.2

  • Мы улучшили поддержку возможностей C# 8.0 и C# 9.0 в дереве покрытия (теперь показываются стандартные реализации интерфейсов и др).
  • Теперь dotCover предлагает перезапустить редактор Unity при изменении фильтров покрытия.
Обновление настроек фильтрации в ReSharper

Обновление настроек фильтрации в ReSharper 2021.1

Теперь ReSharper позволяет настраивать фильтры покрытия в Visual Studio так же, как в JetBrains Rider.

Глобальный .NET-инструмент запуска dotCover из консоли

Глобальный .NET-инструмент запуска dotCover из консоли 2021.1

Вы можете установить и использовать инструмент запуска dotCover из консоли как глобальный dotnet-инструмент: dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0

Используйте его для анализа покрытия кода ваших проектов .NET Core и юнит-тестов.

Скачать

Доступна бесплатная пробная версия на 30 дней