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

Ми випускаємо новий продукт — CodeRush for Roslyn, далі CRR. Вже більше 10 років у нас є інший продукт, який називається просто CodeRush, або CodeRush Classic, скорочено CRC. Головна відмінність CRR від CRC в тому, що Roslyn версія використовує парсинг і мовні сервіси вбудовані в Visual Studio. CRR повністю написаний з нуля, тому він швидкий і легкий, і вже містить все необхідне для ефективної роботи.
У цій статті розповім про підтримку тестових фреймворків в CRR. Майже у всіх прикладах буде використаний проект https://github.com/dewe/Money. Цей проект використовує NUnit framework, але ми також підтримуємо xUniut, MSpec, MS Test Framework. Всі розглянуті нижче практики працюють однаково, незалежно від того, який тестовий фреймворк ви використовуєте.

Якщо класифікувати розробників за способом використання робочого простору в Visual Studio, можна виділити тих, хто приховує всі додаткові toolwindow і виділяє максимум вільного місця вікна з кодом, і тих, хто використовує toolwindow в робочій області.
Для першої групи ми підтримуємо прогін тестів прямо з редактора коду:



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



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



Для тих, хто використовує toolWindow, у нашого тестраннера є віконце, яке можна прикріпити унизу вікна Visual Studio, там де зазвичай
розташовується Output. Testrunner toolWindow доступна через головне меню CodeRush->Windows->Test Runner.



Для тих, у кого широке монітор, має сенс розташовувати віконце тестраннера ліворуч або праворуч.



Після прогону зазвичай працюють з проблемними тестами. У testrunner toolwindow можна виставити фільтр, щоб відображалися тільки не пройшли тести.



З toolWindow можна перейти до коду проблемного тесту або фікстури, вибравши пункт Goto XX в контекстному меню.



В доповнення до інформації про останньому прогоні тестів, в testRunner toolWindow відображається час витрачений на прогін тесту або фікстури. Таким чином, завжди видно повільні тести. Можна зробити їх оптимізацію або запускати їх окремо. Для цього корисні сесії. Наприклад, можна додати повільні тести в окрему сесію.



Після додавання Slow Tests сесії для гальмівних тестів Common Tests для всіх інших, вікно тестраннера буде виглядати так. Main — це сесія за промовчанням, яка завжди містить всі тести.



CRR — новий зручний інструмент для запуску тестів безпосередньо в Visual Studio. Крім можливостей, показаних у статті, CRR підтримує паралельний прогін тестів, розбиття консольного виводу за тестами і багато чого ще. Скачати можна спробувати Visual Studio Gallery.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.