使用Mockito处理例外情况

时间:2014-04-22 07:40:22

标签: java mockito

我在单元测试中使用Mockito。我有一个方法

public Status getResponse(Request requset) throws DataException{
}

DataException是我自己定义的,从Exception类继承的。

在我的测试用例中

static{
when(process.getResponse(any(Request.class))).
                thenReturn(new Status("Success"));
}

它出错,Unhandled Exception:DataException

Mockito是否有办法在不添加try / catch的情况下处理此问题?

2 个答案:

答案 0 :(得分:7)

不要使用static块。请使用标有@Before的方法,并在其声明中添加throws Exception

答案 1 :(得分:4)

将此添加到您的测试方法中:

@Test(expected=DataException.class)

或使用此:

then(caughtException()).isInstanceOf(DataException.class);

对于静态块,除了try-catch之外别无他法。

一种方法是将DataException更改为RuntimeException。