ECM
ECM
总版主
总版主
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:1321回复:0

IllegalArgumentException.class as expected in JUnit

楼主#
更多 发布于:2016-05-16 09:03
Let's say I have this simple method I want to unit test: public class Add {
    public static int addTheFollowingPositiveNumberToOne(int a) {
        if(a <= 0) {
            throw new IllegalArgumentException();
        }
        int b = 1 + a;
        return b;
    }
}
 I want to make sure IllegalArgumentException is thrown if the parameter is less than or equal to 0. The JUnit code would look something like this: @Test (expected = IllegalArgumentException.class)
public void testIllegalArgumentException() {
    int a = -1;
    Add.addTheFollowingPositiveNumberToOne(a);
}
 Why do I have to add .class at the end?
answer(解决方案):

If you see the API document of expected() parameter, it takes parameter of type Class. That's why you are passing IllegalArgumentException class type as IllegalArgumentException.class.

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部