我正在为我项目的 DAO 类编写测试。但是,当我使用 Mockito 的 verify()
方法时,它会抛出 NullPointerException
,因为 createQuery()
方法返回 null
。我该如何解决这个问题?
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private EntityManager entityManagerMock;
@InjectMocks
private TaksitPlanSatiriDao taksitPlanSatiriDao = new TaksitPlanSatiriDaoJpa();
@Before
public void setUp() {
taksitPlanSatiriEntity = new TaksitPlanSatiriEntity();
}
@Test
public void shouldUpdateWhenGuncelleCalledWithTaksitPlanSatiriEntity() {
taksitPlanSatiriDao.guncelle(taksitPlanSatiriEntity);
Mockito.verify(entityManagerMock).createQuery(ArgumentMatchers.anyString()).executeUpdate();
}
最佳答案
尝试:
Mockito.verify(entityManagerMock.createQuery(ArgumentMatchers.anyString())).executeUpdate();
这基于“Deep Stubs”文档:
关于mocking - 如何验证链式方法调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56684824/