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吗?