Является ли тестирование, инициированное редактированием, следующим шагом? - PullRequest
8 голосов
/ 19 июня 2009

Я только что прочитал великую книгу Майкла С. Перса Эффективная работа с устаревшим кодом , библией введения тестов в устаревший код. В этой книге он описывает то, что называется Тестирование, вызванное редактированием :

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

Это должно произойти. Это просто кажется неизбежным. Уже есть IDE, которые проверяют синтаксис при каждом нажатии клавиши и меняют цвет кода при наличии ошибок. Следующее действие - тестирование, инициированное редактированием.

Когда я читал это, я не слышал о каких-либо IDE или инструментах, которые поддерживают это. Однако я только что нашел проект под названием Infinitest , который поддерживает это для Java.

Мои вопросы:

  1. Существуют ли какие-либо другие инструменты / фреймворки, которые поддерживают это (надеюсь, также для Visual Studio)?
  2. Какой у вас опыт такого тестирования (эффективный, замедляет IDE и т. Д.)?
  3. Это следующий шаг TDD?

Обновление:

  • Посмотрите на эту заставку , чтобы увидеть Infinitest в действии для Eclipse.
  • Только что нашел блог, где Бретт Шухерт делится опытом с Infinitest .

Ответы [ 3 ]

1 голос
/ 19 июня 2009

Есть Автотест для рубина. Он непрерывно выполняет модульные тесты при редактировании файлов, используя некоторые простые соглашения для сопоставления исходных файлов с тестовыми файлами. Для этого есть плагин, который интерактивно окрашивает тестовый код в красный или зеленый. Я думаю, что идея немедленной визуальной обратной связи прохождения / сбоя в самом редакторе кода велика.

1 голос
/ 24 января 2013

Прошло несколько лет с момента первоначального вопроса, и для .NET доступно несколько инструментов (я предполагаю, что это пространство выросло и для других языков).

Существует .NET-версия Autotest (, упомянутая ранее в этой теме ) под названием AutoTest.NET , которая была разветвлена ​​и обновлена ​​в более полнофункциональный инструмент под названием ContinuousTests . Я попробовал это около года назад, и в тот момент у него был большой потенциал, но, к сожалению, похоже, что они решили остановить разработку. С другой стороны, теперь это бесплатно !

Я не использовал NCrunch , но это коммерческий продукт, который, похоже, активно развивается.

Существуют основанные на сценариях инструменты , которые также могут соответствовать вашим запросам

Смотрите также этот вопрос: Как мне проводить непрерывное тестирование в .NET?

0 голосов
/ 19 июня 2009

Ну, по сути, это разработка на основе тестов, когда тесты выполняются непрерывно, как вы печатаете? Поэтому я бы не сказал, что «тестирование, инициируемое редактированием» - это новая методика разработки, а всего лишь функция вашей IDE.

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

...