我正在使用JUnit 4和Mockito 2.我试图模拟mocked函数在第一次调用时返回异常并在随后的调用中返回有效值的情况。我想简单地有thenThrow()
后跟一个thenReturn()
,但这不是正确的方法显然Java Mock抛出一个异常,然后返回一个值?
when(stmt.executeUpdate()).thenThrow(new SQLException("I have failed."));
when(stmt.executeUpdate()).thenReturn(1);
sut.updateValue("1");
verify(dbc).rollback();
sut.updateValue("2");
verify(dbc).commit();
两种电话,然而,导致通话回滚(),这是在catch语句。
真棒,这工作完美,谢谢! – Wige