I need to write a junit4 test where I need to mock a class with a static member which produces java.lang.ExceptionInInitializerError if not mocked.
ClassToMock classToMock = mock(ClassToMock.class);
PowerMockito.whenNew(ClassToMock.class).withArguments(any()).thenReturn(classToMock);
StaticMember staticMember = mock(StaticMember.class);
PowerMockito.whenNew(StaticMember.class).withArguments(any()).thenReturn(staticMember);
And this is what my class looks like:
public class ClassToMock {
public static final StaticMember staticMember_ = new StaticMemberDeserializer().deserialize("some argument");
}
Here StaticMemberDeserializer is a deserializer that uses some argument to create StaticMember.
Is there a way to directly mock the class ClassToMock? If no, what can I do to avoid this error?