我想在执行该方法的前5次抛出一个特定的异常。之后,我想抛出另一个例外。
理想情况下,我有这段代码片段,显然无法正常工作
<a href="" id="a">Click me</a><br>
Hello<br>
Hello<br>
<div id="page">
</div>
<div id="popup">
External website:
<iframe id="iframe"></iframe>
</div>
我怎样才能让它发挥作用?
答案 0 :(得分:3)
您可以在Mockito.when(...)
返回的thenThrow(Throwable... throwables)
实例上使用OngoingStubbing
方法。
该方法接受var-args
,这是在调用模拟方法时连续抛出的异常。
@Test
public void myTest(){
// ...
Mockito.when(myClass.myMethod())
.thenThrow( myException1,
myException1,
myException1,
myException1,
myException1,
myException2);
// ...
}
或通过链接OngoingStubbing.thenThrow()
调用,因为该方法实际返回OngoingStubbing
个对象:
@Test
public void myTest(){
// ...
Mockito.when(myClass.myMethod())
.thenThrow(myException1)
.thenThrow(myException1)
.thenThrow(myException1)
.thenThrow(myException1)
.thenThrow(myException1)
.thenThrow(myException2);
// ...
}