我想知道为什么我需要处理异常,当我嘲笑一个抛出异常的void方法.
例如
public class MyObject {
public void call() throws SomeException {
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我这样做时,
@Mock
MyObject myObject;
doNothing().when(myObject).call()
Run Code Online (Sandbox Code Playgroud)
它导致编译错误说
"错误:未报告的异常SomeException;必须被捕获或声明被抛出"
我想知道,为什么我需要处理该方法的异常,这本身就是被嘲笑的.
Lau*_*ntG 14
使用Java中的Mockito模拟对象时.该框架不会改变语言规范.在Java中,该throws子句在编译中定义.您无法在运行时更改声明的异常.在您的情况下,如果您调用该方法MyObject.call(),则必须处理SomeException任何普通Java代码中的as.
因为在单元测试中,你不想处理你没有测试的东西.在你的情况下,我只是重新声明throws SomeException测试方法.
| 归档时间: |
|
| 查看次数: |
7666 次 |
| 最近记录: |