두 개 이상의 ArgumentCaptor 매개 변수를 사용할 때 Nullpointer가 나타납니다. 아무도 잘못 될지도 모른다는 생각이 들지는 않습니까?여러 ArgumentCaptor 매개 변수를 사용하는 방법
@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());
...
}
FileHelper 클래스의 saveTextFile 방법 :
java.lang.NullPointerException이 의 java.lang.Class에서 : 나는이 코드를 실행하면
public static void saveTextFile(String filename, List<String> data) { ... }
나는이 예외가 .isAssignableFrom (네이티브 메소드) at org.powermock.reflect.internal.WhiteboxImpl.checkIfParameterTypesAreSame (WhiteboxImpl.java:2432) at org.power mock.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) 조직에서 org.powermock.reflect.internal.WhiteboxImpl.invokeMethod (WhiteboxImpl.java:859) 에서 org.powermock.reflect.internal.WhiteboxImpl.doInvokeMethod (WhiteboxImpl.java:882) 에서 . org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.when에서 powermock.reflect.Whitebox.invokeMethod (Whitebox.java:466) (PowerMockitoStubberImpl.java:106)
나는를 호출하는 경우 메서드는 단 하나의 인수, 즉 list 인수가 모두 제대로 작동하는 메서드입니다.
[일반적인 문제] (https://groups.google.com/forum/#!msg/powermock/o5vBVYwccac/Fg3jE8gRhlIJ) 인 것 같습니다. 귀하의 메서드가 오버로드되었는지 여부를 지정하지 않았지만 스택 추적이 동일한 줄 번호까지 동일하기 때문에 [이 다른 질문] (http://stackoverflow.com/q)의 중복으로 표시하고 있습니다./17695356/1426891). 그 대답이 당신을 도울 것을 희망한다! –
정보 주셔서 감사합니다. 나는 그 방법의 이름을 바꾸었다. – user3717572