2009-11-21 3 views
9

Я хочу автоматически запускать свои модульные тесты, когда я сохраняю проект Eclipse. Проект создается автоматически, когда я сохраняю файл, поэтому я думаю, что это должно быть возможно каким-то образом.Запуск JUnit автоматически при создании проекта Eclipse

Как это сделать? Единственный вариант - действительно получить скрипт муравья и изменить сборку проекта, чтобы использовать скрипт ant с целями. build и компилировать?

Update Я попытаюсь 2 разные подходы сейчас:

  1. Запуск дополнительного конструктора для моего проекта, который выполняет цели Ant теста (у меня есть муравей скрипт в любом случае)
  2. ct-eclipse, рекомендуемые от Thorbjørn

ответ

7

Конечно, нецелесообразно запускать все тесты, потому что мы можем иметь, например, 20 000 тестов, тогда как наше изменение может повлиять только на 50 из них, среди которых тесты для класса, который мы изменили, и тесты для классов, которые сотрудничать с нашим классом.

Существует незапланированный плагин под названием infinitetest http://improvingworks.com/products/infinitest/, который запускает только некоторые тесты (связанные с классом, который мы изменили) сразу после сохранения изменений. Он также хорошо сочетается с редактором (с использованием аннотаций) и представлением проблем - отображением не проходящих тестов, таких как ошибки.

+0

Согласовано. Inifinitest - лучший из тех, что я нашел, и один из самых активных в развитии. – awied

+0

Подумав об этом, я бы хотел, чтобы плагин выполнил последние тесты, которые я начал вручную. Это очень поможет сейчас. Неистижимо выглядит красиво, может быть, я попробую. Но payware не получает приоритет ... ;-) – cringe

+1

Вы можете попробовать http://www.junitmax.com/ для платной альтернативы. – fastcodejava

4

Right click on your project > Properties > Builders > New, и там добавьте муравья-муравья.

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

2

Посмотрите, есть ли в Eclipse плагин для Infinitest.

Я бы также рассмотрел TestNG как альтернативу JUnit. Он имеет множество функций, которые могут быть полезны при разделении классов тестирования модулей на более короткие и более длинные группы.

+0

У этого действительно есть плагин, который работает очень хорошо. Тесты выполняются быстро и отображаются, как если бы они содержали ошибки copiel прямо в IDE. –

1

Я считаю, что вы ищете http://ct-eclipse.tigris.org/

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

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

Как всегда, дело в том, что работает для вас. Это то, что я нашел.

+0

А, конечно. Хадсон делает интеграцию, но я нахожу, что это несколько раздражает, чтобы щелкнуть по Eclipse, чтобы начать тесты после изменения. ;-) Возможно, плагин должен быть настолько умным, чтобы просто запускать тестовые окна, которые проверяют класс, который я изменил. Выполнение всех тестов при каждом изменении было бы слишком раздражающим. – cringe

+0

рассмотрите действие сохранения. –

+0

Вопрос только в том, что вы проверяете локальные тесты, прежде чем регистрироваться, не так ли? У вас есть эмпирическое правило при запуске? После того как вы думаете, что ваше редактирование может что-то сломать? Или только один раз перед совершением? – cringe

1

Я бы порекомендовал Inifinitest для описанной ситуации. Infinitest теперь является лицензированным продуктом GPL v3. Сайт обновления Eclipse: http://infinitest.github.com

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