欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java学习笔记 断言assert的使用

程序员文章站 2022-06-19 21:17:53
...

前言

在学习Junit测试框架的时候,涉及到了断言这个概念,以前看java的时候,没仔细看这个概念,现在记录一下

断言的概念

断言实际上是一种测试机制,它可以规定某个参数或者属性必须要满足某个条件,否则会抛出一个异常,并且程序会中止。

断言的一些特点

  1. 断言只用于开发测试阶段确定程序的内部错误
  2. 断言默认是禁用的,需要手动开启。禁用断言的情况下,类加载器会跳过断言代码
  3. 断言检测失败的时候,会抛出AssertionError异常,程序中止

断言的实例

断言是通过关键字 assert实现的,这个关键字有两种形式
assert 条件 和 assert 条件:表达式
这两种形式都会对条件进行检测,如果结果为false,则抛出一个AssertionError异常。在assert 条件:表达式 这种形式中,表达式会被传入AssertionError的构造器,并将表达式转换成一个消息字符串。
如果条件的检测结果为true,则程序正常运行。

package com.test.assertTest;

/**
 * Created by IntelliJ IDEA
 *
 * @author manzuo
 * @date 2019/7/2 19:52
 */
public class hello {
    public static void main(String[] args) {
        double x=-10; //可以手动改变x的值,重复运行查看不同的运行结果
        assert x>0:"x小于0";// 这里使用了断言,规定x必须大于0,否则会抛出异常,并把“x小于0”作为报错信息(必须要开启断言机制,否则类加载器会跳过这行代码)
        double y = Math.sqrt(x);
        System.out.println(y);

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

断言的开启

Intellij IEDA开启断言:
Run->Edit COnfigurations
java学习笔记 断言assert的使用
选择要启动的断言的类,然后在右边的VM options里填上 -ea 或者 -enableassertions,然点击确定即可。
java学习笔记 断言assert的使用

运行结果

java学习笔记 断言assert的使用