Pull to refresh
0

CodeRush for Roslyn: Part 1 — полезные фичи для разработки через тестирование

Reading time 2 min
Views 6K
Мы выпускаем новый продукт — CodeRush for Roslyn (далее CRR). Уже более 10 лет у нас есть другой продукт, который называется просто CodeRush, или CodeRush Classic (сокращенно CRC). Главное отличие CRR от CRC в том, что Roslyn-версия использует парсинг и языковые сервисы встроенные в Visual Studio. CRR полностью написан с нуля, поэтому он быстрый, легкий и уже содержит всё необходимое для эффективной работы.

В этой статье я расскажу о поддержке тестовых фреймворков в CRR. Почти во всех примерах будет использован проект github.com/dewe/Money. Этот проект использует NUnit Framework, но мы так же поддерживаем xUnit, MSpec и MS Test Framework. Все рассмотренные ниже практики работают одинаково вне зависимости от того, какой тестовый фреймворк вы используете.

Если классифицировать разработчиков по способу использования рабочего пространства в Visual Studio, можно выделить тех, кто скрывает все дополнительные Tool Window и выделяет максимум свободного места окну с кодом, и тех, кто использует Tool Window в рабочей области. Для первой группы мы поддерживаем прогон тестов прямо из редактора кода.



Как правило, тесты чинятся не за одну итерацию, и разработчик несколько раз повторяет последовательность действий: меняет код, запускает красный тест, проверяет результат. Сократить время выполнения этих рутинных операций можно с помощью пункта Repeat Last Test Run в контекстном меню. После прогона тестов можно посмотреть результат прямо в редакторе, также CRR умеет определять строчку, которая сломала тест.



Также доступна более детальная информация по сломанному тесту при наведении курсора на иконку проблемного теста.



Для тех, кто использует Tool Window, у нашего тестраннера есть окошко, которое можно прикрепить внизу окна Visual Studio, там где обычно располагается Output. Test Runner Tool Window доступно через главное меню CodeRush | Windows | Test Runner.



Для тех, у кого широкий монитор, имеет смысл располагать окошко тестраннера слева или справа.



После прогона, обычно работают с проблемными тестами. В Test Runner Tool Window можно выставить фильтр, чтобы отображались только не прошедшие тесты.



Из Tool Window можно перейти к коду проблемного теста или фикстуры, выбрав пункт Go to test (Go to class) в контекстном меню.



В дополнение к информации о последнем прогоне тестов, в Test Runner Tool Window отображается время затраченное на прогон теста или фикстуры. Таким образом, всегда видно медленные тесты. Можно сделать их оптимизацию или запускать их отдельно. Для этого полезны сессии. Например, можно добавить медленные тесты в отдельную сессию.



После добавления сессии Slow Tests для тормозных тестов и Common Tests для всех остальных, окно Test Runner будет выглядеть так (Main — это сессия по умолчанию, которая всегда содержит все тесты).



CodeRush for Roslyn — новый удобный инструмент для запуска тестов непосредственно в Visual Studio. Кроме возможностей, показанных в статье, CRR поддерживает параллельный прогон тестов, разбиение консольного вывода по тестам и много чего еще.

Скачать попробовать можно в Visual Studio Gallery.

В следующей части рассмотрим фичи CRR для написания лучшего кода.
Tags:
Hubs:
+28
Comments 0
Comments Leave a comment

Articles

Information

Website
www.developersoft.ru
Registered
Founded
1998
Employees
201–500 employees
Location
Россия