假设我正在单元测试的一段代码中有以下行:
SomeClass.method1().method2();
其中 SomeClass 是一个类,method1() 是 SomeClass 中的一个静态方法,它返回某个实例,比如“aClass”,method2() 是一个可以从类中调用的方法“aClass”的实例。
是否可以模拟整个链,以便返回我想要的结果?目前我知道我可以做类似的事情:
BDDMockito.given(SomeClass.method1()).willReturn(mockedAClass);
when(mockedAClass.method2()).thenReturn(true);
但我宁愿做这样的事情:
when(SomeClass.method1().method2()).thenReturn(true);
这可能吗?
编辑:这个问题被标记为重复,但我的问题与“重复”问题之间存在很大差异。在我的问题中,第一种方法是静态的,第二种方法不是。我似乎无法让 mockito 链接模拟这个静态方法,这让我相信这不是同一个答案。
最佳答案
是的 lookup mokito 返回 deep stub 是它的行话 http://mockito.googlecode.com/hg-history/1.8.3/javadoc/org/mockito/Mockito.html#RETURNS_DEEP_STUBS
关于java - 如果其中一个是静态的,你能用 Mockito/PowerMock 模拟一系列方法调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32230706/