2008-11-02 8 views
1

Я использую IntelliJ-Idea для написания Java-демонов. Мы используем JUnit для тестирования нашего кода и хотим иметь автоматические прогоны при регистрации в subversion.Автоматический JUnit на SVN checkin

Есть ли какие-либо инструменты, которые могут автоматически запускать модульные тесты, а затем отправлять отчеты по электронной почте и Hobbit?

ответ

2

Я думаю, что вы должны изучить непрерывную интеграцию, как предложили другие. Я лично пробовал CruiseControl и Hudson и предпочитаю Хадсона. Вы можете просто скачать и запустить его, чтобы увидеть, если вам это нравится, конфигурация является ветер, просто:

  1. Скачать hudson.war из http://hudson.dev.java.net.
  2. Запустите его в автономном режиме (java -jar hudson.war).
  3. Наведите свой браузер на http://localhost:8080 для настройки и использования.

У этого есть встроенная поддержка Maven и Ant, если вы используете их, но если нет, вы можете просто написать собственный сценарий командного файла/оболочки.

Если непрерывная интеграция не является вариантом, вы можете ознакомиться с использованием крюка после захвата Subversion (http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-5-sect-2.1). У меня нет опыта использования крючков для описанной вами цели, поэтому я действительно не могу предлагать здесь большую помощь.

1

Мы используем CruiseControl для автоматического создания проектов и проведения модульных тестов всякий раз, когда происходит изменение подрывной деятельности. Он может быть настроен для отправки уведомлений по электронной почте, если тесты сборки/модуля не выполняются.

2

Мы используем Hudson как наш сервер непрерывной интеграции. Вы можете настроить задания для опроса своего SCM через определенные промежутки времени и запускать задачи Ant на них. У нас есть наша настройка для запуска сборки и тестирования, когда обнаружены новые изменения в SVN и затем отправляются по электронной почте тем, кто участвует в проекте, если сбои сборки или тестирования не работают.

+0

Ваша ссылка неверна. Худсон выглядит так, как будто он подходит. Я собираюсь оценить CruiseControl и Hudson. Спасибо – 2008-11-02 17:53:45

1

Не уверен насчет Хоббит, но TeamCity - еще один приятный сервер непрерывной интеграции. Он может быть настроен на выполнение транзакции Subversion и имеет достойный плагин IntelliJ. Он также отправит электронные письма.

2

Мы используем TeamCity для всех наших проектов java. В основном мы используем junit с maven и TeamCity, у которых уже есть бегун maven2, поэтому легко создать новую задачу сборки.

Вы сообщаете TeamCity, где находится ваш svn багажник, и выберите бегун.

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

И последнее замечание. TeamCity не ограничивается просто запускать java-тест, мы используем его для запуска модульных тестов python.