繁体   English   中英

Mockito 窥探一个特定的方法,它是几个方法调用的深度

[英]Mockito Spy a specific method that is several method-calls deep

我在 Java 中有以下代码行:

boolean x = app1().app2().app3().returnBoolean();

假设app3有几种方法,但我只想模拟 app3 内部的returnBoolean的行为,以始终使用 Mockito 返回 true。 app3app1app2的其他方法保持不变。 不知何故,我需要通过监视app3来执行RETURN_DEEP_STUBS 我做了一些研究,我认为 Mockito 只支持RETURN_DEEP_STUBS和模拟。

我可以使用下面的代码来模拟行为:

App1 app1Spy = spy(app1());
App2 app2Spy = spy(app1Spy.app2());
App3 app3Spy = spy(app2Spy.app3());
doReturn(app2Spy).when(app1Spy).app2();
doReturn(app3Spy).when(app2Spy).app3();
doReturn(true).when(app3Spy).returnBoolean();

但是代码比较长。 还有另一种方法可以实现这一目标吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM