1

내 목표는 Play 앱에 포함 된 통합 테스트를 시작하는 것입니다.Play 2.1/테스트를 실행하는 동안 javaagent 계정으로 가져 오기

이렇게하려면 Intellij를 통해 시작했습니다.

-javaagent:/Users/myName/.ivy2/cache/org.springframework/spring-instrument/jars/spring-instrument-3.2.2.RELEASE.jar 

전체 작동 : 테스트가 스프링의 AspectJ 직물을 필요로하므로 내 IntelliJ에 테스트의 conf이 VM 인수를 precised.

이제 test-only 명령 다음의 간단한 play 명령을 사용하여 명령 줄을 통해 시작할 수 있기를 바랍니다.

먼저 Play 앱에 javaagent를 추가하는 방법을 다루는 this 게시물을 읽었습니다.

따라서, 나는 봄의 javaagent를 추가,이 같은 내 플레이의 build 파일을 수정 :

java ${DEBUG_PARAM} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M ${JAVA_OPTS} -javaagent:/Users/myName/.ivy2/cache/org.springframework/spring-instrument/jars/spring-instrument-3.2.2.RELEASE.jar -Dfile.encoding=UTF-8 -Dplay.version="${PLAY_VERSION}" -Dsbt.ivy.home=`dirname $0`/../repository -Dplay.home=`dirname $0` -Dsbt.boot.properties=`dirname $0`/sbt/sbt.boot.properties -jar `dirname $0`/sbt/sbt-launch.jar "[email protected]" 

하지만, 내 테스트는 단순히 누락 된 스프링의 AspectJ를 짜기에 대해 불평 ... 실패합니다. 그러나 test-only이 다른 프로세스를 시작한 이래로 그것은 확실한 논리입니다 ...

javaagent를 사용하여 aspectJ에 대한 테스트를 할 수 있습니까? 여기에, 위의 코멘트에 @Igor 로마노프가 내 솔루션을 제공하는 링크

+1

하는 모습이 질문을 가지고 (SBT 0.12.3 스칼라 2.10 시험 및 2.1 재생) : 꽤 잘 작동 debug-tests-with-play-2-0/15920921 # 15920921 –

+0

@Igor Romanov Awesome;) – Mik378

답변

2

감사합니다 :

val myApp = play.Project(appName, appVersion, appDependencies).settings(
    Keys.javaOptions in (Test) += 
    "-javaagent:/Users/myName/.ivy2/cache/org.springframework/spring-instrument/jars/spring-instrument-3.2.2.RELEASE.jar", 
    // code remaining 

로드시 스프링의 AspectJ를 다루는 클래스에 대한 직물을 적용 할 수 있습니다. http://stackoverflow.com/questions/15201034/how-to- :

전체는