java - PowerMock again and again initializer error -


i getting error:

java.lang.exceptionininitializererror     @ java.lang.class.forname0(native method)     @ java.lang.class.forname(unknown source)     @ javassist.runtime.desc.getclassobject(desc.java:43)     @ javassist.runtime.desc.getclasstype(desc.java:152)     @ javassist.runtime.desc.gettype(desc.java:122)     @ javassist.runtime.desc.gettype(desc.java:78)     @ mh.scene.terrain.mapreadertestnew.testacceptvalidfilenames(mapreadertestnew.java:26)     @ 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.internal.runners.testmethod.invoke(testmethod.java:68)     @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$powermockjunit44methodrunner.runtestmethod(powermockjunit44runnerdelegateimpl.java:310)     @ org.junit.internal.runners.methodroadie$2.run(methodroadie.java:88)     @ org.junit.internal.runners.methodroadie.runbeforesthentestthenafters(methodroadie.java:96)     @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$powermockjunit44methodrunner.executetest(powermockjunit44runnerdelegateimpl.java:294)     @ org.powermock.modules.junit4.internal.impl.powermockjunit47runnerdelegateimpl$powermockjunit47methodrunner.executetestinsuper(powermockjunit47runnerdelegateimpl.java:127)     @ org.powermock.modules.junit4.internal.impl.powermockjunit47runnerdelegateimpl$powermockjunit47methodrunner.executetest(powermockjunit47runnerdelegateimpl.java:82)     @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$powermockjunit44methodrunner.runbeforesthentestthenafters(powermockjunit44runnerdelegateimpl.java:282)     @ org.junit.internal.runners.methodroadie.runtest(methodroadie.java:86)     @ org.junit.internal.runners.methodroadie.run(methodroadie.java:49)     @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl.invoketestmethod(powermockjunit44runnerdelegateimpl.java:207)     @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl.runmethods(powermockjunit44runnerdelegateimpl.java:146)     @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl$1.run(powermockjunit44runnerdelegateimpl.java:120)     @ org.junit.internal.runners.classroadie.rununprotected(classroadie.java:33)     @ org.junit.internal.runners.classroadie.runprotected(classroadie.java:45)     @ org.powermock.modules.junit4.internal.impl.powermockjunit44runnerdelegateimpl.run(powermockjunit44runnerdelegateimpl.java:122)     @ org.powermock.modules.junit4.common.internal.impl.junit4testsuitechunkerimpl.run(junit4testsuitechunkerimpl.java:106)     @ org.powermock.modules.junit4.common.internal.impl.abstractcommonpowermockrunner.run(abstractcommonpowermockrunner.java:53)     @ org.powermock.modules.junit4.powermockrunner.run(powermockrunner.java:59)     @ 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:675)     @ 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.nullpointerexception     @ mh.scene.terrain.tmxmapreader.<clinit>(tmxmapreader.java:84)     ... 36 more 

that known issues. problem can't find working solution. code of test this:

package mh.scene.terrain;  import static org.easymock.easymock.createmock; import static org.junit.assert.assertequals; import static org.junit.assert.assertfalse; import static org.junit.assert.asserttrue;  import java.io.file;  import mh.cachedresources; import mh.scene.entity.player.entityplayerlocal;  import org.junit.test; import org.junit.runner.runwith; import org.powermock.api.easymock.powermock; import org.powermock.core.classloader.annotations.preparefortest; import org.powermock.modules.junit4.powermockrunner;  @suppresswarnings("javadoc") @runwith(powermockrunner.class) //@preparefortest(cachedresources.class) public class mapreadertestnew {     @test     public void testacceptvalidfilenames() {         // arrange         tmxmapreader reader = new tmxmapreader();          // assert         asserttrue(reader.accept(new file("example.tmx")));         asserttrue(reader.accept(new file("/tmp/example.tmx")));         asserttrue(reader.accept(new file("/tmp/example.tsx")));         asserttrue(reader.accept(new file("/tmp/example.tmx.gz")));         assertfalse(reader.accept(new file("/tmp/example.txt")));         assertfalse(reader.accept(new file("/tmp/example.xml")));         assertfalse(reader.accept(new file("/tmp/example.exe")));         assertfalse(reader.accept(new file("/tmp/example")));     }      @test     public void testreadingmapexample() throws exception {           entityplayerlocal pl = createmock(entityplayerlocal.class);         map map = new tmxmapreader().readmap("/sewers.tmx", null, pl);  //      powermock.mockstatic(cachedresources.class); //      powermock.replay(cachedresources.class);          assertequals(50, map.getheight());         assertequals(50, map.getwidth());         assertequals(1, map.gettilesetcount());         assertequals(3, map.getlayercount());         assertequals(1, map.getobjectsetcount());     } } 

that extremely simple, , removing "powermock.mockstatic()" error present when add runwith

any idea?


the problem seems in part of code:

file jar_file = (magichogwarts.class.getprotectiondomain().getcodesource().getlocation() == null ? null : new file(magichogwarts.class.getprotectiondomain().getcodesource().getlocation().getpath())); 

that returns null. correct way handle paths testable powermock? particular error thrown when use statement "runwith"

you might need add entityplayerlocal.class @preparefortest(). createmock(entityplayerlocal.class) method causing issue guess. can check code written in once. better if can paste method in question.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -