如果我有一个函数a()可以抛出异常,我想嘲笑它。 如果我写
Mockito.when(a()).callRealMethod()
编译器告诉我添加try-catch块或添加throw declerations。 但是我不想在该行中调用方法a(),我只是想确保当我在测试后的某个地方调用该方法时,它会调用真正的方法,然后我将添加try-catch 。 怎么做?
答案 0 :(得分:1)
通常的做法是向所有测试方法添加throws Exception
注释,因为如果抛出任何意外异常,框架将自动使测试失败。这允许您调用/模拟抛出异常的任何方法,而无需显式编写错误处理代码。
对于JUnit:
@RunWith(JUnit4.class)
public class YourTest {
@Before public void setUp() throws Exception {
// ...
}
@Test public void fooShouldDoBar() throws Exception {
// ...
}
}