ReSharper предоставляет инструмент запуска тестов, с которым вы можете запускать и отлаживать модульные тесты, используя NUnit, xUnit.net, MSTest, QUnit и Jasmine. Вы можете исследовать тесты, группировать их по сессиям, просматривать результаты и переходить к исходному коду из трассировки стека.
ReSharper Ultimate дополнительно поддержививает непрерывный запуск тестов, анализирует покрытие кода тестами и производительность.
ReSharper автоматически обнаруживает модульные тесты NUnit, XUnit и MSTest в проектах на .NET и .NET Core. Поддержка других фреймворков модульного тестирования, таких как MSpec, доступна через плагины.
Рядом с объявлениями классов тестов и отдельных тестов ReSharper добавляет специальные иконки, по которым можно щелкнуть для запуска или отладки тестов. Кроме того, вы можете нажать Alt+Enter, когда курсор находится на объявлении теста.
Тесты можно запустить из контекстного меню. Также вы можете запускать или отлаживать произвольный набор модульных тестов из окна Solution Explorer в Visual Studio. Просто выберите файл, папку, проект или решение и нажмите Ctrl+U, R или Ctrl+U, D. Еще один способ — кликунуть правой кнопкой на область выделения и выбрать пункты Run unit tests для запуска или Debug unit tests для отладки.
ReSharper представляет Unit Test Explorer — структурированный список юнит-тестов для проверки структуры тестов во всем решении. Древовидное представление вызывается сочетанием клавиш Ctrl+Alt+U или с помощью меню ReSharper | Windows и быстро заполняется после сборки проекта. С помощью Unit Test Explorer вы можете запустить любую комбинацию тестов в одной или нескольких сессиях юнит-тестирования.
Модульные тесты запускаются в окне Unit Test Sessions. В этом окне вы можете запустить любое количество сессий одновременно или по отдельности. Сессии могут состоять из любой комбинации тестов. В режиме отладки допускается запуск только одной сессии.
Структура тестов в рамках сессии отображается в виде дерева. Можно использовать фильтры, чтобы просмотреть только пройденные, неудачные или проигнорированные тесты. Вы можете перейти к коду любого теста по двойному щелчку.
Индикатор выполнения и строка состояния отображают текущий статус. В любой момент тесты можно запустить и остановить, пересобрать и запустить еще раз.
На панели предварительного просмотра можно анализировать результаты теста и переходить от результата неудачного теста к строкам кода, которые вызвали исключение, — и все это одним щелчком мыши.
С помощью JetBrains dotCover (инструмент также доступен по лицензии ReSharper Ultimate), вы можете легко определить, насколько код вашего решения покрыт юнит-тестами.
dotCover будет анализировать и визуализировать покрытие кода в модульных тестах из выбранной области и обнаруживать код, который не охватывается юнит-тестами. Это может быть очень полезно для расстановки приоритетов в разработке и обеспечении качества приложений.
Используя ReSharper Ultimate или dotCover, вы можете проводить непрерывное тестирование: dotCover на лету определяет, какие юнит-тесты были затронуты последними изменениями кода, и автоматически перезапускает их.
dotCover может находить и/или запускать такие тесты при сохранении файла, во время сборки решения или по запросу.
Вы можете указать, какие тесты следует выполнять непрерывно, а какие вы будете запускать традиционным способом, или выбрать непрерывное тестирование для всех случаев.
Для быстрого профилирования юнит-тестов в Visual Studio можно также использовать JetBrains dotTrace — мощный инструмент профилирования производительности .NET, который входит в комплект ReSharper Ultimate.
При установленном dotTrace приступить к профилированию можно прямо из редактора: для этого используются отметки на боковой панели, которые ReSharper добавляет для классов тестов и отдельных тестов.
Для анализа использования памяти прямо из юнит-тестов можно использовать dotMemory Unit — бесплатный фреймворк юнит-тестирования памяти от JetBrains.
Сразу после привязки dotMemory Unit можно настроить критерии успешности юнит-тестов в зависимости от трафика памяти, наличия в памяти определенных объектов и других индикаторов использования памяти приложением.
Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.