[英]Getting Null Pointer Exception while mocking a class in scala using MockitoSugar
[英]Null Pointer Exception while mocking Optional Parameters
我的代碼是以下形式:
public String getDeliveryDestinations(final RequestContext requestContext {
final Accessor accessor = requestContext.getAccessor().get();
final GroupAccessor groupAccessor = accessor.getGroupAccessor();
final String groupId = groupAccessor.getGroupId();
if(groupId.equals("s1") return "Type1";
else return "type 2";
}
為了測試這個,我寫了以下內容:
@Test
public void getDestinationsDestinations_empty() throws Exception {
Accessor accessor = mock(Accessor.class);
GroupAccessor groupAccessor = mock(GroupAccessor.class);
//*mockRequestContent is Mocked*
when(mockRequestContext.getAccessor().get()).thenReturn(accessor);
when(accessor.getGroupAccessor()).thenReturn(groupAccessor);
when(groupAccessor.getGroupId()).thenReturn("s1");
String destinationResult = provider.getDeliveryDestinations(mockRequestContext);
assertEquals(destinationResult,"Type1");
}
我得到一個NPE,當(mockRequestContext.getAccessor()。get())。thenReturn(accessor); 我不知道為什么!
任何線索都會非常有幫助:)
當getAccessor()
需要返回一個可選項時,你可以這樣做:
Accessor accessor = mock(Accessor.class);
GroupAccessor groupAccessor = mock(GroupAccessor.class);
Optional<Accessor> optAccessor = Optional.of(accesor)
when(mockRequestContext.getAccessor()).thenReturn(optAccessor)
when(accessor.getGroupAccessor()).thenReturn(groupAccessor);
when(groupAccessor.getGroupId()).thenReturn("s1");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.