java - Getting ExceptioninitializerError in JUnit -
below error getting while running junit test case.
while running junit test case sv code, getting below error, though sv code jars. code create virtual services. in case remove line "forget(url)......;" test case pass, else throws error.
java.lang.exceptionininitializererror @ com.ca.svcode.protocols.http.agent.httpagentprotocol.getinterceptor(httpagentprotocol.java:77) @ com.ca.svcode.protocols.http.agent.httpagentprotocol.getinterceptor(httpagentprotocol.java:48) @ com.ca.svcode.engine.ipvconnectedserver.start(ipvconnectedserver.java:135) @ com.ca.svcode.engine.ipvprotocolserver.withconnection(ipvprotocolserver.java:67) @ com.ca.svcode.protocols.http.fluent.impl.httptransactionbuilderimpl.buildtransaction(httptransactionbuilderimpl.java:77) @ com.ca.svcode.protocols.http.fluent.abstracthttptransactionbuilder.doreturn(abstracthttptransactionbuilder.java:132) @ testclass.testsimplehttpgetwithresponsecodeandstringbody(testclass.java:25) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:50) @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:12) @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:47) @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:17) @ org.junit.rules.externalresource$1.evaluate(externalresource.java:48) @ org.junit.rules.runrules.evaluate(runrules.java:20) @ org.junit.runners.parentrunner.runleaf(parentrunner.java:325) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:78) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:57) @ org.junit.runners.parentrunner$3.run(parentrunner.java:290) @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:71) @ org.junit.runners.parentrunner.runchildren(parentrunner.java:288) @ org.junit.runners.parentrunner.access$000(parentrunner.java:58) @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:268) @ org.junit.runners.parentrunner.run(parentrunner.java:363) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:86) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:459) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:678) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:382) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:192) caused by: java.lang.runtimeexception: cannot load initialize agent http protocol. @ com.ca.svcode.protocols.http.agent.httpinterceptor.<clinit>(httpinterceptor.java:45) ... 32 more caused by: com.ca.svcode.agent.agentexception: failed initialize agent protocol @ com.ca.svcode.agent.agent.initialize(agent.java:76) @ com.ca.svcode.protocols.http.agent.httpinterceptor.<clinit>(httpinterceptor.java:43) ... 32 more caused by: java.lang.runtimeexception: java.lang.classnotfoundexception: com.sun.tools.attach.virtualmachine @ com.ca.svcode.agent.agentloader.loadagent(agentloader.java:62) @ com.ca.svcode.agent.agent.initialize(agent.java:70) ... 33 more caused by: java.lang.classnotfoundexception: com.sun.tools.attach.virtualmachine @ java.net.urlclassloader.findclass(unknown source) @ java.lang.classloader.loadclass(unknown source) @ java.lang.classloader.loadclass(unknown source) @ com.ca.svcode.agent.agentloader.dynamicloadofvirtualmachine(agentloader.java:87) @ com.ca.svcode.agent.agentloader.loadagent(agentloader.java:60) ... 34 more
below code:
import static com.ca.svcode.protocols.http.fluent.httpfluentinterface.*; import static org.junit.assert.*; import static com.ca.svcode.protocols.http.fluent.httpfluentinterface.forget; import com.ca.svcode.engine.junit4.virtualserverrule; import org.junit.rule; import org.junit.test; public class testclass { getcurrentweather gcw = new getcurrentweather(); string url = "http://api.openweathermap.org/data/2.5/weather?q=london,uk&appid=14c206d2c4fc6e04f152395f98fbfe20"; string json_examples_portfolio = "{\"coord\":{\"lon\":-0.13,\"lat\":51.51},\"weather\":[{\"id\":803,\"main\":\"clouds\",\"description\":\"broken clouds\",\"icon\":\"04d\"}],\"base\":\"stations\",\"main\":{\"temp\":291.6,\"pressure\":1018,\"humidity\":48,\"temp_min\":291.15,\"temp_max\":292.15},\"visibility\":10000,\"wind\":{\"speed\":8.2,\"deg\":270},\"clouds\":{\"all\":56},\"dt\":1503161400,\"sys\":{\"type\":1,\"id\":5091,\"message\":0.0042,\"country\":\"gb\",\"sunrise\":1503118420,\"sunset\":1503169985},\"id\":2643743,\"name\":\"london\",\"cod\":200}"; int custom_status_code = 200; @rule public virtualserverrule vs = new virtualserverrule(); @test public void testsimplehttpgetwithresponsecodeandstringbody() throws exception { forget(url).doreturn(amessage(200).withjsonbody("{\"coord\":{\"lon\":-0.13,\"lat\":51.51},\"weather\":[{\"id\":803,\"main\":\"clouds\",\"description\":\"broken clouds\",\"icon\":\"04d\"}],\"base\":\"stations\",\"main\":{\"temp\":291.6,\"pressure\":1018,\"humidity\":48,\"temp_min\":291.15,\"temp_max\":292.15},\"visibility\":10000,\"wind\":{\"speed\":8.2,\"deg\":270},\"clouds\":{\"all\":56},\"dt\":1503161400,\"sys\":{\"type\":1,\"id\":5091,\"message\":0.0042,\"country\":\"gb\",\"sunrise\":1503118420,\"sunset\":1503169985},\"id\":2643743,\"name\":\"london\",\"cod\":200}")); /*getcurrentweather gw = new getcurrentweather(); string printresponse = gw.place("http://api.openweathermap.org/data/2.5/weather?q=london,uk&appid=14c206d2c4fc6e04f152395f98fbfe20"); system.out.println(printresponse);*/ assertequals(200, custom_status_code); } }
pls suggest.
one of sv jars, has dependency on jdk1.8 jar(tools.jar), need add jdk1.8 library in buildpath of project.
Comments
Post a Comment