我有以下方法:
public Object method(){
try
{
privatevoidmethod1();
privatevoidmethod2();
}
catch(Exception e)
{
Log.debug(e);
}
return object;
}
如何强制异常以便我可以测试调试调用?
答案 0 :(得分:3)
不管您如何测试调试调用,您通常会通过提供合适的输入来触发异常,以便创建/抛出异常。如果这不合适,那么另一种方法是提供一个替代(模拟)组件,该组件已被配置/编写以抛出异常,例如。
public MyClass(MyInjectedComponent component) {
this.component = component;
}
并且您为测试提供了MyInjectedComponent
的实现,该实现将抛出异常(用于测试目的)。将组件注入其他组件的方法称为dependency injection,值得研究。
我通常会使用模拟框架(例如Mockito或类似)。然而,上述的一个微不足道的实现可能是:
public class MyImplementationForTesting extends MyInjectedComponent {
public void method() throws Exception {
throw new Exception();
}
}