Seb*_*Seb 5 java unit-testing mockito powermock
想象一下,我在单元测试的代码中有以下行:
SomeClass.method1().method2();
Run Code Online (Sandbox Code Playgroud)
SomeClass是一个类,method1()是SomeClass中的一个静态方法,它返回一些例如'aClass'的实例,而method2()是一个可以从'aClass'实例调用的方法.
是否可以模拟整个链,以便我可以返回我想要的结果?目前我知道我可以做类似的事情:
BDDMockito.given(SomeClass.method1()).willReturn(mockedAClass);
when(mockedAClass.method2()).thenReturn(true);
Run Code Online (Sandbox Code Playgroud)
但我宁愿做这样的事情:
when(SomeClass.method1().method2()).thenReturn(true);
Run Code Online (Sandbox Code Playgroud)
这可能吗?
编辑:这个问题被标记为重复,但我的问题和'重复'之间存在一个相当大的差异.在我的问题中,第一种方法是静态的,第二种方法不是.我似乎无法让mockito链接模拟这种静态方法,这让我相信它不是同一个答案.
小智 0
是的,查找 mokito 返回深度存根是它的行话 http://mockito.googlecode.com/hg-history/1.8.3/javadoc/org/mockito/Mockito.html#RETURNS_DEEP_STUBS