首页 文章

Mockito测试void方法会抛出异常

提问于
浏览
306

我有一个 void 返回类型的方法 . 它也可以抛出一些异常,所以我想测试那些抛出的异常 . 由于同样的原因,所有尝试都失败了:

Stubber类型中的(T)方法不适用于参数(void)

任何想法如何让方法抛出指定的异常?

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));

2 回答

  • 2

    括号的位置很差 . 你必须使用

    doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
                                              ^
    

    并不是

    doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
                                                                       ^
    

    这在the documentation中有解释

  • 550

    如果你想知道如何使用新的BDD风格的Mockito:

    willThrow(new Exception()).given(mockedObject).methodReturningVoid(...));
    

相关问题