2012-08-28 7 views
3

Можно ли настроить жизненный цикл сборки maven без написания плагина? Я хочу настроить свой проект, чтобы упаковать его без запуска тестов, а затем запустить тесты. Фон состоит в том, что тесты выполняются на HTTPUnit и ему нужна полностью построенная структура каталога веб-приложений.Настроить maven build

ответ

1

Кажется, что вы пишете интеграционные тесты.

Вы можете использовать maven-failsafe-plugin. Этот плагин выполняется по умолчанию на этапе интеграции-тестирования maven build lifecycle (который находится после фазы упаковки).

1

Для этих целей вам нужна фаза интеграции, которая точно предназначена для таких целей. Это после фазы упаковки, но до этапа установки/развертывания. Этого можно достичь, используя maven-failsafe-plugin. Вы можете найти полный пример here.

3

Как было предложено khmarbaise, вы можете использовать maven-failsafe-plugin, который является расширением maven-surefire-plugin.

Maven Жизненный цикл состоит из четырех этапов идеально подходит для вашего намерения:

  1. pre-integration-test для создания тестовой интеграции среды.
  2. integration-test для проведения интеграционных испытаний.
  3. post-integration-test для срыва интеграционного теста окружающая среда.
  4. verify для проверки результатов интеграции тестов.

вообще говоря, во время pre-integration-testwe start the server

например:

<executions> 
     [...] 
     <execution> 
     <id>start-jetty</id> 
     <phase>pre-integration-test</phase> 
     <goals> 
      <goal>run-exploded</goal> 
     </goals> 
     <configuration> 
      <scanIntervalSeconds>0</scanIntervalSeconds> 
      <daemon>true</daemon> 
     </configuration> 
     </execution> 
     <execution> 
     <id>stop-jetty</id> 
     <phase>post-integration-test</phase> 
     <goals> 
      <goal>stop</goal> 
     </goals> 
     </execution> 

Я использую этот плагин с Hudson; в Maven Build Customization - Chapter 5 вы можете найти более подробную информацию.