java学习笔记 断言assert的使用

前言

在学习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);

    }
}

断言的开启

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

运行结果

java学习笔记 断言assert的使用_第3张图片

你可能感兴趣的:(java学习,断言,assert)