![](/img/trans.png)
[英]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.