【发布时间】:2017-05-11 18:09:19
【问题描述】:
使用 spock 我需要模拟对 EntityManager/Query 的调用。我试图模拟的代码行是:
entityManager.createNativeQuery("nativeQuery").setParameter(1, param1).getResultList()
entityManager.createNativeQuery 的模拟返回一个空的 Query 对象。这会导致失败,因为您不能在空对象上调用方法。因此,我无法模拟结果集列表的返回。
我尝试将语句分解为单独的语句和附带的模拟,但这也没有奏效,因为我仍然得到一个空查询。
我不知道我现在是否有关于这方面的隧道视觉,或者这是否不能被嘲笑——至少对 Spock 来说是这样。
感谢所有帮助!
【问题讨论】:
标签: unit-testing jpa spock