【发布时间】:2018-07-13 05:11:50
【问题描述】:
当(mock.method()).thenReturn(obj) 不起作用时。我也尝试过间谍,但我不想调用实际方法,我只想在this.method() 被击中时发送响应。
有什么建议吗?
【问题讨论】:
-
你不需要,你应该测试公共方法,对助手的内部调用对你来说一定不重要。如果它们太复杂/做太多工作,那么您需要将它们提取到不同的类并模拟该类
当(mock.method()).thenReturn(obj) 不起作用时。我也尝试过间谍,但我不想调用实际方法,我只想在this.method() 被击中时发送响应。
有什么建议吗?
【问题讨论】:
你可以这样做,但你必须使用spy。监视您的对象并定义此行为:
doReturn(obj).when(spy).method()
然后你可以调用你的外部方法,对method()的内部调用将立即返回obj。
【讨论】: