2009-09-01 3 views
6

В чем разница между использованием интегрированного инструмента VS, такого как Testdriven.net, или с помощью графического интерфейса GUI, такого как Icarus или NUnit GUI?Gallio Icarus vs. Testdriven.net

Что вы предпочитаете и почему?

До сих пор я обнаружил, что отчеты в Icarus лучше, чем в td.net, который имеет только выход из командной строки. Тем не менее, td.net быстрее использовать, я могу выполнить одиночные тесты более легко, без необходимости сначала отключить остальные. Интеграция с NCover тоже очень приятная.

ответ

8

У Icarus есть одна замечательная функция, которая держит меня в использовании. Это автоматическая перезагрузка и повторная проверка.

Я держу Icarus зависающим на мониторе левой руки. Каждый раз, когда я создаю Visual Studio, Icarus перезагружает сборки и запускает все тесты. Это похоже на мгновенную обратную связь анализа решений Resharper, за исключением тестов вместо синтаксиса. Выполнение тестов является автоматическим и, похоже, не влияет на производительность Visual Studio (вероятно, b/c Icarus - это собственный процесс, не размещенный внутри IDE).

Чтобы включить эту конфигурацию, перейдите в Icarus-> Options-> Test Explorer. Установите флажок «Всегда перезагружать файлы» и «Запуск тестов после перезагрузки».

+0

Да, я тоже это делаю Digg. Увы, мой вопрос: td.Net дает какую-либо пользу. –

+0

В защиту TD.Net, сборка выполняется как часть ходовых модульных тестов, на месте и без учета экранной недвижимости. – GregC

+0

Что было бы здорово - это функция повторного запуска соответствующих модульных тестов при редактировании кода в Visual Studio. Но тогда как вы определяете «релевантные»? – GregC

3

У вас есть сервер непрерывной интеграции (например, сервер сборки, но выполняется модульные тесты)?

Если это так, вы можете настроить gallio для запуска модульных тестов и предоставить всю отчетную информацию там, позволяя разработчикам использовать что-то с более быстрой обратной связью во время работы.

Если нет опции, я предпочитаю что-то, что интегрировано в IDE, например Testdrvien. Немедленная обратная связь действительно полезна при рефакторинге кода или разработке чего-то нового в TDD. Кроме того, если вы не проверите проверку работоспособности в одной точке (например, CI-сервер), вам понадобятся столько же глаз, сколько вы можете найти на этих модульных тестах. Разработчики склонны использовать все, что проще, и, как правило, интегрированный набор тестов проще, чем отдельный компонент.

+0

Я индивидуальный разработчик, поэтому использование сервера ci не является для меня незаменимым. На самом деле, у меня есть один, он использует его для метрик и т. Д. (И для удовольствия, конечно) –

+0

@Johannes Rudolph Если сервер CI слишком переполнен, у вас все еще могут быть скрипты сборки. Рейк очень легко настроить и запустить из командной строки всякий раз, когда вам нужны метрики. Вот ресурс, который я начал с Rake. http://www.tobinharris.com/past/2008/11/4/getting-started-with-rake-on-net/ –

Смежные вопросы