我有一个方法
Service.class
Public void foo() throws SchedulerException{
..........
}
的Test.class
Public void testExample(){
Mockito.doThrow(SchedulerException.class).when(f.foo());
}
编译器要求我为tryExample()设置try / catch或throws 有没有其他方法可以实现相同的目标?
答案 0 :(得分:1)
您的问题没有说明是SchedulerException extends RuntimeException
,而是根据您的问题我认为不是。{/ p>
如果testExample()
没有throws SchedulerException
,您的测试方法(SchedulerException
)必须extends RuntimeException
。这是由于Java强制执行catch-or-throws原则。详细信息可在JLS §11中找到。
正如@Ishnark建议的那样,如果您希望测试能够抛出任何类型的Exception
,you should annotate the test with @Test(expected=ExcpectedExceptin.class)
(即使您的例外extends RuntimeExcpetion
)。