存根方法中的Mockito异常

时间:2015-10-14 16:34:59

标签: java unit-testing mocking mockito

如果我有一个函数a()可以抛出异常,我想嘲笑它。 如果我写

Mockito.when(a()).callRealMethod()

编译器告诉我添加try-catch块或添加throw declerations。 但是我不想在该行中调用方法a(),我只是想确保当我在测试后的某个地方调用该方法时,它会调用真正的方法,然后我将添加try-catch 。 怎么做?

1 个答案:

答案 0 :(得分:1)

通常的做法是向所有测试方法添加throws Exception注释,因为如果抛出任何意外异常,框架将自动使测试失败。这允许您调用/模拟抛出异常的任何方法,而无需显式编写错误处理代码。

对于JUnit:

@RunWith(JUnit4.class)
public class YourTest {
  @Before public void setUp() throws Exception {
    // ...
  }

  @Test public void fooShouldDoBar() throws Exception {
    // ...
  }
}