是否有可能在代码中告知给定的对象是否是Mockito模拟?
我想这样做的原因是在使用模拟时返回不同的错误消息.这将用于向其他开发人员建议他们应该使用预先准备好的模拟,该模拟已经设置为以有用的方式应答调用,而不是自己创建模拟.
目前我所拥有的最好的是object.getClass().getName().contains("EnhancerByMockitoWithCGLIB")
但这感觉很骇人.
Tom*_*icz 60
看起来没有这样的API(请提出一个问题,应该是!)幸运的是(下面的评论如下),org.mockito.internal.util
包中有一个方法:
import org.mockito.internal.util.MockUtil;
new MockUtil().isMock(obj)
Run Code Online (Sandbox Code Playgroud)
将来Mockito.isMock()
可能会将方法添加到公共API中,请参阅:问题313:在org.mockito.internal之外提供isMock).
Spi*_*ina 46
作为后续工作,Mockito公共API现在具有以下方法:
MockingDetails org.mockito.Mockito.mockingDetails(Object toInspect)
Run Code Online (Sandbox Code Playgroud)
这是@David Wallace提出的问题的结果.返回的对象支持方法'isMock()'和'isSpy()',稍后可以增强以提供更多模拟相关信息.
归档时间: |
|
查看次数: |
12667 次 |
最近记录: |