2012-08-28 5 views
3

플러그인을 작성하지 않고 Maven 빌드 수명주기를 사용자 정의 할 수 있습니까? 테스트를 실행하지 않고 패키징하도록 프로젝트를 사용자 정의한 다음 테스트를 실행하고 싶습니다. 테스트가 HTTPUnit에서 실행되고 완벽하게 구성된 웹 응용 프로그램 디렉토리 구조가 필요하다는 배경이 있습니다.Maven 빌드 사용자 정의

답변

1

통합 테스트를 작성한 것으로 보입니다.

maven-failsafe-plugin을 사용할 수 있습니다. 이 플러그인은 기본적으로 패키징 단계 이후 인 maven build lifecycle의 통합 테스트 단계에서 실행됩니다 ...

1

이러한 목적을 위해 이러한 테스트를위한 통합 테스트 단계가 필요합니다. 패키지 단계 이후이지만 설치/배포 단계 이전입니다. maven-failsafe-plugin을 사용하면이 작업을 수행 할 수 있습니다. 전체 예제 here을 찾을 수 있습니다.

3

khmarbaise에서 제안한대로 maven-failsafe-plugin은 maven-surefire-plugin의 확장입니다. 통합 테스트를 환경을위한

  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에서 자세한 내용을 확인할 수 있습니다.