Ner*_*ero 6 java junit unit-testing exception junit4
我无法运行我的测试,因为测试在此语句中出现红色波浪形错误行,decorator.decorate(new EncoderColumnDecorator())要求我使用 try/catch 或添加 throws。这是错误信息。

当我已经有一个“预期”属性时,为什么我必须放置 try/catch 或 throws 异常
我的单元测试:
@Test(expected=DecoratorException.class)
public void testDecorate_exception() {
decorator.decorate(new EncoderColumnDecorator()); -----Error in this line
}
Run Code Online (Sandbox Code Playgroud)
测试方法
@Override
public String decorate(Object arg0) throws DecoratorException {
try{
//some code
}
}catch(Exception e){
throw new DecoratorException();
}
return arg0;
}
}
Run Code Online (Sandbox Code Playgroud)
这只是使代码成为有效 Java 必须遵循的规则。如果一个函数调用另一个函数,throws那么它要么也抛出该异常,要么必须捕获它。
这有点像变量的静态类型。虽然它可能看起来不方便,但它可以通过不允许歧义来帮助确保正确的代码。让编译器报告任何不一致有助于更早地检测问题。
| 归档时间: |
|
| 查看次数: |
7387 次 |
| 最近记录: |