Spring 无法访问从模拟方法返回的对象的getter
试验方法Spring 无法访问从模拟方法返回的对象的getter,spring,mockito,Spring,Mockito,试验方法 public void saveDemandCenterCategory() { String category = "testCategory"; DemandCenterCategoryEntity demandCenterCategoryEntity = new DemandCenterCategoryEntity(); demandCenterCategoryEntity.setId(1l); demandCent
public void saveDemandCenterCategory() {
String category = "testCategory";
DemandCenterCategoryEntity demandCenterCategoryEntity = new DemandCenterCategoryEntity();
demandCenterCategoryEntity.setId(1l);
demandCenterCategoryEntity.setCategory(category);
AgentEntity agentEntity = new AgentEntity();
agentEntity.setId(11l);
when(agentRepository.findByMobile(anyString())).thenReturn(agentEntity);
when(demandCenterCategoryEntityRepository.save(any(DemandCenterCategoryEntity.class))).
thenReturn(demandCenterCategoryEntity);
assertEquals(demandCenterServiceImpl.saveDemandCenterCategory(anyString(),any()),isNotNull());
}
测试方法
public DemandCenterCategoryEntity saveDemandCenterCategory(@NotEmpty String name,
@NotNull Entitlements entitlements) {
DemandCenterCategoryEntity demandCenterCategoryEntity = new DemandCenterCategoryEntity();
demandCenterCategoryEntity.setCategory(name);
demandCenterCategoryEntity.setUpdatedBy(agentRepository.findByMobile(entitlements.getSubject()).getId());//null pointer
return demandCenterCategoryEntityRepository.save(demandCenterCategoryEntity);
}
从模拟方法获取数据时获取空指针表达式返回数据。可能是作为授权传递的any()参数导致NPE
顺便说一下,您不应该在测试中的方法中使用mockito匹配器,您在哪里得到的是
NPE
?你能添加stacktrace吗?