Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JUnit - Exception In Initializer Error

Tags:

java

junit

I'm trying to test a class with a static methods and I'm having an error in this line:

FormReferenceDataPopulator target = new FormReferenceDataPopulator();

and here's the failure trace:

java.lang.ExceptionInInitializerError
  at au.necdl.pexa.web.document.form.FormReferenceDataPopulatorTest.<init>(FormReferenceDataPopulatorTest.java:15)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:187)
  at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:236)
  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
  at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:233)
  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
  at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
  at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
  at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
  at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
  at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
  at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
  at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.RuntimeException: Could not locate bean of class [au.necdl.pexa.service.address.CountryService]
  at au.necdl.pexa.core.PexaContextAware.getBean(PexaContextAware.java:65)
  at au.necdl.pexa.web.document.form.FormReferenceDataPopulator.<clinit>(FormReferenceDataPopulator.java:29)    ... 23 more
like image 673
james Avatar asked Jun 24 '26 23:06

james


1 Answers

There are couple of clues in the stack trace that point where the error is

a) ExceptionIninitializerError --> FormReferenceDataPopulatorTest. This indicates that the error happened during the construction of this object. The ExceptionIninitializerError specifically point to the fact that the exception occurred during static initialization block or variable

ExceptionIninitializerError An ExceptionIninitializerError is thrown to indicate that an exception occurred during evaluation of a static initializer or the initializer for a static variable.

b) Like Robby has pointed out in his comment Caused by: java.lang.RuntimeException: Could not locate bean of class [au.necdl.pexa.service.address.CountryService] shows where the error exact is.

like image 153
Saifuddin Merchant Avatar answered Jun 27 '26 12:06

Saifuddin Merchant



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!