猿问

Java-如何测试捕获块?

有点转贴,但是关于没有足够声誉的某些22捕捉意味着我无法对任何重复的线程发表评论!(咳嗽)


我正在尝试使用Mockito测试try-catch的catch块;是否有可能使模拟引发被测试方法处理的异常?我不能使用doThrow()... when()...或@Test(expected = Foo.class),因为已处理了异常。我想测试该方法是否正确处理了异常。


@Controller

public class StockExchangeController {


    public ModelAndView placeOrder(ModelAndView mav, MyObj myObj) {


        try {

            validator.validate(myObj); // Throws CustomException if validation fails

            mav.setViewName("successPage");


        } catch (CustomException ex) {

            mav.setViewName("failPage");

        }


        return mav;

    }

}

我希望能够对“ validatorObject”的行为进行存根,例如


doThrow(new CustomException()).when(validatorMock).validate();

有没有办法做到这一点?


萧十郎
浏览 222回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答