我有一个返回类型为void
的方法.它还可以抛出许多异常,所以我想测试抛出的异常.所有try 均因相同原因失败:
类型stuber中的when(T)方法不适用于参数(void)
知道如何让方法抛出指定的异常吗?
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
我有一个返回类型为void
的方法.它还可以抛出许多异常,所以我想测试抛出的异常.所有try 均因相同原因失败:
类型stuber中的when(T)方法不适用于参数(void)
知道如何让方法抛出指定的异常吗?
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
括号放得不好.
你需要使用:
doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
^
NOT.使用:
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
^
这一点在第the documentation节中有解释.