加载中…
个人资料
蒙蒙
蒙蒙
  • 博客等级:
  • 博客积分:0
  • 博客访问:501
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Checked exception is invalid for this method!异常解决方案

(2012-04-17 20:41:55)
标签:

mockito

dothrow

自定义异常

杂谈

分类: 接口测试
在用mockito来模拟异常的时候,当要抛出自定义的异常,而非RuntimeException等自定义异常时,常常会出现如下错误信息:
Checked exception is invalid for this method!

以前我可以通过doThrow(CheckedException.class).when(service).show(anyObject),来绕过这个错误。但是当抛出的异常要携带某些信息时,就不能不给异常传参了,于是就得这么写:
doThrow(new CheckedException("error")).when(service).show(anyObject)

接着,你会看到编译通过,但运行时报上面的异常

我们来看下上面异常的意思,大概是说检查到这个异常对这个方法无效。检查了这个方法后,发现这个方法并没有显示声明或抛出这个我们自定义的异常。试着在他的方法名后加上 throw CheckedException,问题解决。

总结:看来只有方法中明确抛出的异常,mockito才会认为是合理的。虽然不是很明白mockito为什么要管我们抛出的异常类型,先就这么办吧http://www/uc/myshow/blog/misc/gif/E___6759EN00SIGG.gifexception is invalid for this method!异常解决方案" TITLE="Checked exception is invalid for this method!异常解决方案" />

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有