我是 Mockito 新手,有一个问题。
说我有一个方法:
SomeClass someMethod() throws SomeException{};
并且,它被循环调用:
for(int i=0; i < 2; 1++) {
try {
SomeClass someObject = someMethod();
} catch(SomeException e) {
//. Do something
}
}
在模拟时,我知道我们可以单独模拟成功返回 SomeClass 对象的调用的方法的执行,以及模拟异常场景:
成功结果:
when(someMethod()).thenReturn(new SomeClass());
例外:
when(someMethod()).thenThrow(new SomeException());
我的问题是: 我如何模拟 someMethod() 方法调用,以便在一次调用时成功返回 SomeClass 对象,而在另一次调用时抛出 SomeException?
基本上,为了获得成功场景和异常场景的代码覆盖率:
for(int i=0; i < 2; 1++) {
try {
SomeClass someObject = someMethod();
} catch(SomeException e) {
// Do something
}
}
我希望这是有道理的!在这方面的任何帮助将不胜感激。 预先感谢!
您可以像这样链接
thenReturn
/thenThrow
调用:
when(someMethod()).thenReturn(new SomeClass()).thenThrow(new SomeException());
有关更多信息,请参阅文档。