I am getting Nullpointerexception
while mocking a class that is having the below line
IOdataApiBusiness odataApiBusiness = (IOdataApiBusiness) SpringContextInjector.getBeanFromSpringContext(SpringConfigurations.ODATA_API_BUSINESS);
here is the error
java.lang.NullPointerException
at com.odata.config.SpringContextInjector.getBeanFromSpringContext(SpringContextInjector.java:9)
at com.odata.util.ApiUtilities.<init>(ApiUtilities.java:63)
at com.odata.controller.FetchIDPOfficeDetails.getInstitutionDetails(FetchIDPOfficeDetails.java:70)
at com.odata.controller.FetchIDPOfficeDetailsTest.testGetInstitutionDetails(FetchIDPOfficeDetailsTest.java:111)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
here is SpringContextInjector
class:
public class SpringContextInjector {
public static Object getBeanFromSpringContext(String beanId) {
ApplicationContext context = ApplicationListenerBean.getContext();
Object beanObj = context.getBean(beanId); //getting the error here.
return beanObj;
}
}