美文网首页Java学习笔记程序员
【JAVA-UT】12、抛出了指定的异常吗?

【JAVA-UT】12、抛出了指定的异常吗?

作者: 码术张 | 来源:发表于2019-04-09 10:39 被阅读3次

如何验证抛出的异常是指定的异常?

下面介绍两种方法。

方法一:
public class Test1 {
    @Test(expected = IllegalArgumentException.class)
    public void test1() {
        throw new IllegalArgumentException();
    }
}

期望的表达方式为

(expected = IllegalArgumentException.class)

抛异常的代码为:

throw new IllegalArgumentException();

意思为抛出一个异常IllegalArgumentException。

在实际代码中,将这句换成需要抛异常的代码即可。

如果抛出的异常与期望的一致,那么运行结果就是pass。

如果不一致,则会fail。

例如,正面这段代码,期望抛出异常IllegalArgumentException,实际抛的是NullPointerException。

public class Test2 {
    @Test(expected = IllegalArgumentException.class)
    public void test2() {
        throw new NullPointerException();
    }
}

运行结果会是fail,并且给出提示:

result.png
方法二
public class Test3 {
    @Rule
    public ExpectedException worker = ExpectedException.none();

    @Test
    public void test3() {
        worker.expect(IllegalArgumentException.class);
        throw new IllegalArgumentException();
    }
}

使用ExpectedException判断是否有期望的异常。

首先,声明一个ExpectedException类型的变量。

然后,告诉它期望的异常。

worker.expect(IllegalArgumentException.class);

意思是期望的异常为IllegalArgumentException。

throw new IllegalArgumentException();

抛出一个异常。写代码时,将这句换成实际要抛异常的代码。

如果抛出的与期望的异常一致,则pass。否则,fail,并给出错误提示。

例如,正面这段代码:

期望的是IllegalArgumentException。

实际的抛出的是NullPointerException。

public class Test4 {
    @Rule
    public ExpectedException worker = ExpectedException.none();

    @Test
    public void test4() {
        worker.expect(IllegalArgumentException.class);
        throw new NoSuchFieldError();
    }
}

运行结果如下:

result 2.png

相关文章

  • 【JAVA-UT】12、抛出了指定的异常吗?

    如何验证抛出的异常是指定的异常? 下面介绍两种方法。 方法一: 期望的表达方式为 (expected = Ille...

  • JS抛异常

    手动抛异常 捕获异常

  • 16_异常

    ======================抛异常 throw 例子 =========声明异常throws 例子...

  • ssm框架配置全局异常

    要求:既能返回ajax提交请求的异常信息,又能以指定的错误页面返回异常信息***自定义异常 ***指定的异常页面 ...

  • expect raise_error matcher

    测试抛异常及异常信息: 只检查异常,不检查 error message:

  • C++11新特性

    宏 函数名 只包含一次头文件 变长参数 noexcept 异常 声明函数不会抛异常 声明函数可以抛异常 例如析够函...

  • 异常处理(二)--java19(22/12/2015)

    二、如何处理Exception的异常java提供的是异常处理的抓抛模式1."抛":当我们执行代码时,一旦出现异常,...

  • 阿里Java规范-02-异常日志

    =================(一)异常处理==================关于接口使用抛异常还是返回错误...

  • 异常的处理

    异常的的处理:抓抛模型 自定义异常 自定义异常 测试类

  • TODO("not implemented")抛异常

    在kotlin实现接口的时候小白可能会遇到以下异常: 抛出异常:kotlin.NotImplementedErro...

网友评论

    本文标题:【JAVA-UT】12、抛出了指定的异常吗?

    本文链接:https://www.haomeiwen.com/subject/lvoviqtx.html