看起来没有这样的 API(请提出问题,应该是!)幸运的是(在下面的评论之后)org.mockito.internal.util
包中有一个方法:
import org.mockito.internal.util.MockUtil;
new MockUtil().isMock(obj)
将来可能会将 Mockito.isMock()
方法添加到公共 API,请参阅:Issue 313: Provide isMock outside of org.mockito.internal)。
作为后续,Mockito 公共 API 现在具有 this method:
MockingDetails org.mockito.Mockito.mockingDetails(Object toInspect)
这是@David Wallace 提出的问题的结果。返回的对象支持方法 isMock()
和 isSpy()
以及其他一些提供附加模拟信息的方法。
如果你使用 io.mockk.mockk 那么你可以这样做:
isMockKMock()
不定期副业成功案例分享
isMockitoMock
方法的正下方有一个似乎可以使用的公共isMock
方法。我将在 Mockito 邮件列表上发布,以检查我们自己从org.mockito.internal.util
调用方法是否是个好主意。org.mockito.internal.util
包的目的之一是 Mockito 团队可以在更新版本中更改此包中的任何内容。所以如果你使用这个包,你的测试可能会在未来中断。但是,我们极不可能摆脱这种特殊方法,所以我会说它使用起来相当安全。isMock()
添加到主 Mockito 类(即,不是内部的)。除非 Mockito 团队中的其他人反对,否则我将在 Mockito 的下一个版本中添加它。import org.mockito.Mockito.*
mockingDetails(obj).isMock()