When I use more than 1 ArgumentCaptor parameter I receive a Nullpointer. May be anyone has an idea what goes wrong?
@RunWith(PowerMockRunner.class)
@PrepareForTest(FileHelper.class)
public class MyTest {
...
@Before
public void setUp() throws Exception {
PowerMockito.mockStatic(FileHelper.class);
}
@Test
public void save() throws Exception {
ArgumentCaptor<String> argName = ArgumentCaptor.forClass(String.class);
ArgumentCaptor<List> argList = ArgumentCaptor.forClass(List.class);
PowerMockito.doNothing().when(FileHelper.class, "saveTextFile", argName.capture(),
argList.capture());
...
}
The saveTextFile methods in the FileHelper class:
public static void saveTextFile(String filename, List<String> data) {
...
}
If I run the code I get this exception:
java.lang.NullPointerException at java.lang.Class.isAssignableFrom(Native Method) at org.powermock.reflect.internal.WhiteboxImpl.checkIfParameterTypesAreSame(WhiteboxImpl.java:2432) at org.powermock.reflect.internal.WhiteboxImpl.getMethods(WhiteboxImpl.java:1934) at org.powermock.reflect.internal.WhiteboxImpl.getBestMethodCandidate(WhiteboxImpl.java:1025) at org.powermock.reflect.internal.WhiteboxImpl.findMethodOrThrowException(WhiteboxImpl.java:948) at org.powermock.reflect.internal.WhiteboxImpl.doInvokeMethod(WhiteboxImpl.java:882) at org.powermock.reflect.internal.WhiteboxImpl.invokeMethod(WhiteboxImpl.java:859) at org.powermock.reflect.Whitebox.invokeMethod(Whitebox.java:466) at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.when(PowerMockitoStubberImpl.java:106)
If I call a method that has only one argument, i.e. the list argument everything works fine.