存根方法中的模拟异常



如果我有一个可以抛出异常的函数a(),并且我想模拟它。如果我写

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

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

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

JUnit:

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

相关内容

  • 没有找到相关文章

最新更新