2011-08-08 3 views
2

JUnit을 사용하여 실행되는 Selenium 2 테스트 세트 인 Maven 프로젝트가 있습니다. 즉, 전체 프로젝트의 유일한 것은 JUnit 테스트 케이스이며 모두 프로젝트의 주요 소스 파일이므로 정상 소스 디렉토리 즉 src/main/java에 있습니다.정상 수명주기 밖에서 Maven으로 Selenium RC junit 테스트를 실행하려면 어떻게해야합니까?

Maven을 사용하여 동일한 테스트를 실행할 수 있기를 원하지만이 테스트는 실제 단위 테스트 또는 프로젝트 내 통합 테스트가 아니기 때문에 (자체 테스트를하지 않고 다른 곳에서 웹 응용 프로그램을 테스트하고 있기 때문에) 정상적인 빌드 수명주기 중에 실행되도록하지 마십시오. 그러나 나는 여전히 POM 파일 내에서 테스트 단계/목표를 정의 할 수 있기를 원합니다.

이 시점에서 필자는 surefire 플러그인이 작동하는 방식을 이해하고 있으며 빌드에서 실행을 분리하는 방법을 알지 못합니다. 나는 모든 새로운 사형 집행을 독립형으로 만들고 싶다. 그래서 mvn run-webtests와 run-webtests 단계를 내 프로젝트의 컴파일 및 패키지 목표와 완전히 다른 무언가로 만들면된다. 나는 바른 길에

1) AM 또는이 문제를 생각하는 더 좋은 방법이 :

그래서 나는이 개 전체 질문이 됐을까?

2.)이 작품을 만들기 위해 내가해야 할 일은 무엇입니까? 사용자 정의 단계를 만드시겠습니까? 맞춤 목표를 만드시겠습니까?

이런 겉으로보기에는 기본적인 질문을 해 주어서 미안하지만, 이와 같은 일을하는 사람의 사례를 찾을 수 없었습니다.

+0

나는 이해하지 못한다. 왜 이것을 라이프 사이클의 "외부"에서 수행하려고합니까? – krosenvold

답변

2

나는 당신이 올바른 길에 있다고 생각합니다. Maven이 유감스럽게도 일부 영역에서 유연성이 부족하다는 것입니다. 일반적으로 물건을 넣을 수 있지만 때때로 진짜 고통이 될 수 있습니다. 이 작업을 수행하는 가장 간단한 방법은 셀레늄 테스트에 다른 명명 규칙을 사용하고 해당 셀이 "정상"테스트를 실행하는지 확인하는 것입니다. excluded from 그런 다음 define a profile에서 surefire 플러그인을 include으로 설정하여 셀렌 테스트를 수행하고 나머지는 제외하십시오. 단지

mvn test -P selenium-tests 

당신이 mvn run-webtests를 실행할 수 있도록 당신이 그것을 설정할 수있는 유일한 방법은,

  1. custom lifecycle 여기서 "실행 - webtests"를 정의하는 다음, 셀레늄 테스트를 실행하려면이 수 것은 수명주기의 단계 또는
  2. Write a plugin이지만 플러그인을 실행하면 항상 ':'이 표시되므로 mvn myplugin:run-webtests과 비슷합니다.

이들은 모두 pom의 간단한 프로필보다 유지 관리가 더 어렵고 어렵습니다.

관련 문제