L'initialisation erreur d'Exception lors de l'utilisation de Mockito avec PowerMock

Je suis en utilisant Mockito avec PowerMock pour la première fois et je vais avoir une erreur lors de l'exécution du code ci-dessous à la ligne suivante:

MockitoAnnotations.initMocks(SearchTest.class);

L'erreur est:

java.lang.ExceptionInInitializerError
at org.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter.<init>(ConditionalStackTraceFilter.java:17)
at org.mockito.exceptions.base.MockitoException.filterStackTrace(MockitoException.java:30)
at org.mockito.exceptions.base.MockitoException.<init>(MockitoException.java:19)
at org.mockito.exceptions.misusing.MockitoConfigurationException.<init>(MockitoConfigurationException.java:18)
at org.mockito.internal.configuration.ClassPathLoader.loadImplementations(ClassPathLoader.java:145)
at org.mockito.internal.configuration.ClassPathLoader.findPluginImplementation(ClassPathLoader.java:110)
at org.mockito.internal.configuration.ClassPathLoader.findPlatformMockMaker(ClassPathLoader.java:106)
at org.mockito.internal.configuration.ClassPathLoader.<clinit>(ClassPathLoader.java:59)
at org.mockito.internal.configuration.GlobalConfiguration.createConfig(GlobalConfiguration.java:38)
at org.mockito.internal.configuration.GlobalConfiguration.<init>(GlobalConfiguration.java:32)
at org.mockito.MockitoAnnotations.initMocks(MockitoAnnotations.java:94) 
Caused by: java.lang.NullPointerException

Le code de la classe de test est:

    import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(Parameterized.class)
@PrepareForTest(InputStreamReader.class)
public class SearchTest {   
private String preFile;
private String expectedPreFile;
private String postFile;
private String expectedpostFile;
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {    
{ "test1" } });
}
@Mock
private HttpClient mockHttpClient;
private HttpPost mockHttpPost;
private HttpResponse mockHttpResponse;
private HttpEntity mockHttpEntity; 
private InputStream mockInputStream;
private InputStreamReader mockInputStreamReader;
private BufferedReader mockBufferedReader;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
xstream = new XStream();
}
public SearchTest(String folder) {
this.preFile= folder + "/inpRows.json";
this.expectedPreFile= folder + "/inpRowsExpected.json";
this.postFile= folder + "/outRows.json";
this.expectedpostFile= folder + "/outRowsExpected.json";
}
@Test
/**
* Simulates the calling of a handler    * 
* Setup @Parameters with a list of folders containing the test files.  A test is performed for each entry
* @throws CallbackHandlerException
* @throws IOException
* @throws JSONException
* @throws SecurityException
* @throws NoSuchFieldException
* @throws IllegalArgumentException
* @throws IllegalAccessException
*/
public void testHandler() throws Exception {
/**********Set the expected results for the mocked methods****************/
Mockito.when(mockHttpClient.execute(mockHttpPost)).thenReturn(mockHttpResponse); 
Mockito.when(mockHttpResponse.getEntity()).thenReturn(mockHttpEntity);              
Mockito.when(mockHttpEntity.getContent()).thenReturn(mockInputStream);
PowerMockito.whenNew(InputStreamReader.class).withArguments(mockInputStream).thenReturn(mockInputStreamReader);
PowerMockito.whenNew(BufferedReader.class).withArguments(mockInputStreamReader).thenReturn(mockBufferedReader);
PowerMockito.whenNew(JSONObject.class).withArguments(Matchers.any(String.class)).thenReturn(jsonStub);
searchHandler.pre(); //Call the actual Pre method to be tested
}
}

Des suggestions pourquoi j'obtiens cette erreur?

Grâce

Vous avez coupé la trace de la pile trop tôt - ce qu'en vertu de la "Causé par ..." ligne?
Pouvez-Vous partager le code complet ici , j'ai aussi le même problème

OriginalL'auteur Global Dictator | 2013-12-18