edw*_*yte 364 java exception mocking mockito
我有一个void
返回类型的方法.它也可以抛出一些异常,所以我想测试那些被抛出的异常.由于同样的原因,所有尝试都失败了:
Stubber类型中的(T)方法不适用于参数(void)
任何想法如何让方法抛出指定的异常?
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
Run Code Online (Sandbox Code Playgroud)
JB *_*zet 638
括号的位置很差.你必须使用
doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
^
Run Code Online (Sandbox Code Playgroud)
并不是
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
^
Run Code Online (Sandbox Code Playgroud)
这在文档中有解释
Ond*_*ert 10
如果你想知道如何使用新的BDD风格的Mockito:
willThrow(new Exception()).given(mockedObject).methodReturningVoid(...));
Run Code Online (Sandbox Code Playgroud)
小智 5
当发生运行时异常时,我在尝试使用三个方法调用测试 @Retryable 时遇到问题,我这样做并为我工作。
Mockito.doThrow(RuntimeException.class)
.doThrow(RuntimeException.class)
.doNothing()
.when(youMockInstance)
.methodToTest(<parameter if your method has>);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
240788 次 |
最近记录: |