2009-04-08 4 views
3

jbehave 테스트를 디버깅하는 데 문제가 있습니다. 나는 jbehave 테스트를 시작하고 중단 점에서 멈추도록 maven을 얻을 수 없습니다. 내 치어이 있습니다JBehave 시나리오 디버깅

<pluginManagement> 
<plugins> 
    <plugin> 
    <groupId>org.jbehave</groupId> 
    <artifactId>jbehave-maven-plugin</artifactId> 
    <version>2.0.1</version> 
    </plugin> 
</plugins> 
</pluginManagement> 
<plugins> 
<plugin> 
    <groupId>org.jbehave</groupId> 
    <artifactId>jbehave-maven-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>run-scenarios-found</id> 
     <phase>test</phase> 
     <configuration> 
     <scenarioIncludes> 
      <scenarioInclude>**/scenario/**/*${test}.java</scenarioInclude> 
     </scenarioIncludes> 
     <scenarioExcludes> 
      <scenarioExclude>**/*Steps.java</scenarioExclude> 
     </scenarioExcludes> 
     </configuration> 
     <goals> 
     <goal>run-scenarios</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
</plugins> 

와 내가 좋아하는 일을 시도 :

$ mvn -e -o -Dtest=MyTest -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 -Xnoagent -Djava.compiler=NONE" clean test 

$ export MVN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 -Xnoagent -Djava.compiler=NONE" ; mvn -Dtest=MyTest clean test 

나는 jsadebugd를 사용하려고 할 수 있습니다,하지만 난 아마 결점을 필요로하는 타이밍이 자동화되어 차선책 인 것처럼 들리므로 JBehave Maven 플러그인이이 기능을 제공해야한다고 생각합니다. 분명히 나는 ​​아직 정확한 문서화를 찾지 못했습니다. 이 아이디어에 대해 어떻게 생각하세요?

답변

1

은 나를 위해 일한 다음 : 수출 MAVEN_OPTS = "- Xdebug는 -Xrunjdwp : 전송 = dt_socket, 서버 = Y = Y, 주소 = 8787 -Xnoagent하고, -Djava.compiler = NONE NONE 중단하지"다음 시작

을 내 MVN 테스트 : 가 MVN 설치

그런 다음 적절한 중단 점과, (위)를 8787 포트, 로컬 호스트를 가리키는 원격 디버그 세션에서 Eclipse를 시작 (디버거가 연결하는 받는다는 지금 기다리고 달려 있습니다) 세트.

0

Maven으로 테스트를 시작하지 않고 JUnit IDE에서 테스트를 시작하는 것이 더 쉽지 않을까요? 그런 다음 디버거를 직접 사용할 수 있습니까? 일반적으로 CI 서버는 JBehave를 실행하기 위해 maven을 사용하지만, IDE에서는 직접적인 실행 방법을 선호합니다.

+0

테스트가 IDE와 다른 컴퓨터에서 실행되어야하는 경우가 아닙니다. – l0st3d

-1

MVN -e -o -Dmaven.surefire.debug = "- Xdebug는 -Xrunjdwp : 전송 = dt_socket, 서버 = y를 일시 중단 = Y, 주소 = 8787 -Xnoagent하고, -Djava.compiler = NONE NONE"통합 테스트

이 라인은 나를 위해 완벽하게 작동했습니다. 디버그 포트 (8787)와 함께 Eclipse Jbehave 프로젝트를 설정하고 Eclipse 프로젝트에 연결하기 위해 mvn이 대기하는 동안 디버거에 빠르게 연결하십시오.

+0

이것은 기존 답변 중 하나와 거의 동일합니다. 그것이 말하는 모든 것을 반복하는 것은 무엇입니까? –