当前位置: 首页 > news >正文

如何开启idea中的断言功能?

目录

一、什么是断言?

二、Java断言的语法

三、开启断言


一、什么是断言?

断言(assert)是 Java 中的一条语句,一种在程序中的逻辑(如一个结果为真或假的逻辑判断式),目的是验证软件开发者预期的结果——当程序执行到断言的位置时,对应的断言应该为真。若断言不为真,则程序中止执行,并给出错误信息。
断言可以用来测试开发者对该程序的假设,即程序执行到某行后,其结果一定是预期的。如果失败,那么 Java 虚拟机将抛出一个名为 AssertionError 的异常。

断言语句一般用于程序不通过捕获异常来处理的错误。例如,在进行账号交易时,程序设置支出的金额应为负数,收入的金额应为正数,如果发现支出的金额为正数或收入的金额为负数,那么程序必须立即停止执行,同时发现错误。当收益为正数时,就可以避开错误,但仍保留程序中的断言语句,之后再次调试时,可以重新启动断言,也可以不断发现程序中的新的问题和解决语句。

二、Java断言的语法

要添加断言,只需要使用关键字 assert 并为其赋予布尔条件即可。使用断言的语法格式有以下两种。

  • 第一种语法格式如下:
assert [boolean 表达式]

若 [boolean表达式] 为 true,则程序继续执行;若为 false,则程序抛出 AssertionError,并终止执行。

  • 第二种语法格式如下:
assert [boolean 表达式:错误表达式(日志)]

若 [boolean表达式] 为 true,则程序继续执行;若为 false,则程序抛出 java.lang.AssertionError,并输出[错误信息]。

举例:

  //页面标题来检查是否登录成功String expect  = driver.getTitle();//断言assert expect.equals("博客列表");

三、开启断言

默认情况下断言是关闭的,需要手动打开。

文本框要填的内容是:

-ea -Dfile.encoding=UTF-8

更多详细的内容,请参考:

Java断言用法详解

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 纯原创【车牌识别】基于图像处理的车牌识别——matlab项目实战(含GUI界面)详解
  • 最佳编程语言选择与学习路径探讨
  • 一文掌握Python全部条件执行语句(基础篇)
  • vue开启keep-alive缓存时,关于子组件上使用:key=“id“的问题以及解决方案
  • 5G三大场景:eMBB、mMTC、uRLLC
  • VMware Workstation17 安装 Windows 10 操作系统
  • 通过 ACM 论文模版学习 LaTeX 语法 【三、格式】
  • strimzi operator 部署kafka集群(可外部访问)
  • [M二分] lc3143. 正方形中的最多点数(二分答案+代码实现+模拟)
  • 19066 第K小子串
  • 将后台传来的数据,转成easyui-tree所需格式
  • Map遍历 32
  • 家用仪器血压测量仪电子方案
  • Centos 8使用空磁盘扩展ext4文件类型根分区 (LVM)
  • 代码随想录算法训练营第十七天 | 654.最大二叉树, 617.合并二叉树 ,700.二叉搜索树中的搜索 , 98.验证二叉搜索树
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • [译]前端离线指南(上)
  • 【个人向】《HTTP图解》阅后小结
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ECMAScript入门(七)--Module语法
  • Electron入门介绍
  • ES6 ...操作符
  • ES6 学习笔记(一)let,const和解构赋值
  • PHP 小技巧
  • Redux 中间件分析
  • vue.js框架原理浅析
  • 初识MongoDB分片
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 每天10道Java面试题,跟我走,offer有!
  • 漂亮刷新控件-iOS
  • 时间复杂度与空间复杂度分析
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 学习笔记:对象,原型和继承(1)
  • 正则表达式
  • mysql面试题分组并合并列
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #FPGA(基础知识)
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #在 README.md 中生成项目目录结构
  • (独孤九剑)--文件系统
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (七)Flink Watermark
  • (十一)手动添加用户和文件的特殊权限
  • (四)事件系统
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转)重识new
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .Family_物联网
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复