안녕하세요,
IntelliJ 환경에 ngrinder 용 groovy script 개발환경 구축과 관련해 문의 드립니다. IntelliJ 에서 maven과 groovy 개발을 위한 환경은 모두 제대로 갖춘듯한데, ngrinder 용 groovy script 를 실행하면 아래처럼 오류가 납니다. 원인이 뭔지 조언 부탁드리겠습니다. 감사합니다. http://www.cubrid.org/wiki_ngrinder/entry/import-groovy-maven-project-in-intellij *** 아래 진행은 위 URL 페이지를 참고로 진행하였습니다. 0. MacOS 에 IntelliJ 14.1.3, groovy2.4.3 환경 1. IntelliJ 에서 maven 프로젝트 생성 - maven-archetype-quickstart 2. 생성된 프로젝트에 groovy Framework Support 추가 3. 다음 코드로 groovy script 테스트 실행 => 정상 실행 import org.junit.Test import static junit.framework.TestCase.assertTrue class GTest { @Test public void a() { assertTrue(true); } } 4. ngrinder 사용을 위해 pom.xml 수정 5. 다음 코드로 grinder 테스트 실행 => 실행 오류 (컴파일 정상) ... @RunWith(GrinderRunner) class TestRunner { public static GTest test public static HTTPRequest request @BeforeProcess public static void beforeProcess() { HTTPPluginControl.getConnectionDefaults().timeout = 6000 test = new GTest(1, "www.google.com") request = new HTTPRequest() ... 6. JUnit 런처에 javaagent VM 옵션 주고 테스트 실행 => 실행 오류 (컴파일 정상) /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java -ea -javaagent:/Users/babo72/.m2/repository/net/sf/grinder/grinder-dcr-agent/3.9.1/grinder-dcr-agent-3.9.1.jar -Didea.launcher.port=7534 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14 CE.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA 14 CE.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA 14 CE.app/Contents/plugins/junit/lib/junit-rt.jar..." com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 mvn_a.TestRunner java.lang.TypeNotPresentException: Type net.grinder.scriptengine.groovy.junit.GrinderRunner not present at sun.reflect.annotation.TypeNotPresentExceptionProxy.generateException(TypeNotPresentExceptionProxy.java:46) at sun.reflect.annotation.AnnotationInvocationHandler.invoke(AnnotationInvocationHandler.java:83) at com.sun.proxy.$Proxy2.value(Unknown Source) at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) ... |
Administrator
|
IntelliJ의 경우는 Eclipse 와는 달리, provided scope로 maven dependency를 걸 경우, 해당 dependency가 classpath로 잡히지 않습니다. 이에 대한 해결 방법은 IntelliJ 로 동작 시킬 때만 해당 dependency를 compile 로 하도록 설정 하여야 하는데요. 다음과 같이 profile을 하나 만드시고 이를 activate 시킨 상태에서 테스트를 하셔야 합니다. < profiles > < profile > < id >intellij</ id > < dependencies > <!-- the dependency to ngrinder-groovy will not be scoped as provided when the intellij profile is activiated --> < dependency > < groupId >org.ngrinder</ groupId > < artifactId >ngrinder-groovy</ artifactId > < version >3.3</ version > <!-- provide the appropriate version here --> </ dependency > </ dependencies > </ profile > </ profiles > 2015-06-03 0:02 GMT+09:00 babo72 [via ngrinder] <[hidden email]>: 안녕하세요, |
Free forum by Nabble | Edit this page |