当前位置: 首页 > 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断言用法详解

相关文章:

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

目录 一、什么是断言? 二、Java断言的语法 三、开启断言 一、什么是断言? 断言(assert)是 Java 中的一条语句,一种在程序中的逻辑(如一个结果为真或假的逻辑判断式),目的是验证软…...

大模型之语言大模型技术

本文作为大模型综述第二篇,介绍语言大模型基本技术。 近年来,在 Transformer 架构基础上构建的预训练语言模型为自然语言处理领域带来了一系列突破式进展,成为人工智能主流技术范式。预训练语言模型采用“预训练+微调”方法,主要分为两步: 1)将模型在大规模无标注数据上…...

浮点数例外 (核心已转储) 的问题记录

一般这种问题,是程序运行过程中出现浮点数运算错误导致的程序崩溃 浮点异常可能由以下几个原因引起: 除以零:当程序中出现除以零的操作时,会触发浮点异常。例如,当一个数除以0时,会导致浮点异常。数值溢出…...

Vite项目中根据不同打包命令配置不同的后端接口地址,proxy解决跨域

在vite.config.ts同级目录添加两个文件 .env.development #开发环境 VITE_APP_ENV developmentVITE_APP_BASE_API .env.production #生产配置 VITE_APP_ENV productionVITE_APP_BASE_API https://www.bdjw.work代码中使用路径 const request axios.create({baseURL: i…...

Java新手启航:JDK 21 版本安装,开启编程之行

在Java开发前,JDK是必不可少的环境,接下来,让我们一起完成JDK 21版本的下载和安装! 种一棵树最好的时间是10年前,其次就是现在,加油! …...

Redis学习[5] ——Redis过期删除和内存淘汰

六、Redis过期键值删除 6.1 Redis的过期键值删除策略 6.1.1 什么是过期键值删除? Redis中是可以对key设置过期时间的,所以需要有相应的机制将已过期的键值对删除,也就是**过期键值删除策略。Redis会用一个过期字典(expires dic…...

书生大模型学习笔记 - Python

Python实现wordcount 请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。 解题思路:首先把字母转小写>然后把单词取出来去除标点>循环单词列表>key已存…...

spring security和核心流程

...

JavaScript青少年简明教程:面向对象编程入门

JavaScript青少年简明教程:面向对象编程入门 JavaScript 支持多种编程范式(programming paradigms),即支持多种不同的编程风格和方法。 前面介绍的编程方式,主要是面向过程编程(Procedural Programming&am…...

电话号的标准

点击标题下「蓝色微信名」可快速关注 最近碰到个电话号码的问题,除了常规数字,可能还会有国内国际的区号,例如中国,86、086、86,这些好像都见过,但什么是标准的?谁来定义的? 国际电信…...

项目实战_表白墙(升级版)

你能学到什么 表白墙(升级版)Mybatis的一些简单应用 正文 前⾯的案例中, 我们写了表⽩墙, 但是⼀旦服务器重启, 数据就会丢失. 要想数据不丢失, 需要把数据存储在数据库中,接下来咱们借助MyBatis来实现数据库的操作。 数据准备 如果我们…...

创意无限:11个设计圈热议的UI设计灵感网站集锦

无论你是一个经验丰富的UI设计师还是一个新的UI设计师,拥有一些高质量、可靠的UI设计网站灵感库都能加速你的设计过程。借助灵感资源,您可以更快、更有效地启动该项目。与此同时,优秀的UI设计网站也能帮助您探索新的设计解决方案,…...

C# Solidworks二次开发------综合小设计-1

一、内容 本文对前面所提及的相关信息做一些小设计 二、代码 public void Open_File(string FileNmae) {Process.Start("explorer.exe", FileNmae); }public void Connect_Excel() {string connectionString "ProviderMicrosoft.Jet.OLEDB.4.0;Data Source&q…...

nginx rtmp服务器搭建

参考链接:https://blog.csdn.net/bitcsljl/article/details/125826323...

打卡第31天------贪心算法

每天抓紧时间刷题,争取尽快上岸,不能再耽误一分一秒了,2024年已经过去大半年了。这个算法编程题是我的痛点。要尽快弥补。 卡尔在讲算法题的时候,思路比较清晰,通俗易懂,以前看见算法题就害怕,因为啥都不会,看懵了,跟了一个月了,每天坚持刷题,偶尔会回顾思路,也会…...

jenkins服务器重启,构建记录消失

1、进入系统管理查看系统运行日志,发现报保存构建日志失败 jenkins module java.base does not "opens java.lang.ref" to unnamed module 5276d6ee Java平台模块系统对类的可见性和访问权限进行了严格的控制。在Java 9及以上版本中,java.la…...

Linux系统部分问题处理方案

目录 一:crontab输出结果控制 二:telnet很慢/ssh很慢 三:Read-onlyfilesystem 四:⽂件删了磁盘空间没释放 五:获取不了⽹关mac地址 六: http服务⽆法启动⼀例 七:ibdata1和mysql-bin致磁盘空间问题 一:crontab输出结果控制 问题: /var/spool/clientmqueue⽬录…...

C语言指针与数组

在上一篇对指针介绍的文章当中,我们初次了解到了指针,并且知道了地址和内存间的关系,懂得了如何取地址和对指针的解引用,算是对指针有了一个初步的了解。而今天让我们对指针进行更深一步的了解吧~ 一、指针与数组名 我们知道&am…...

Stream 33

package Array.collection;import java.util.*; import java.util.stream.Stream;public class stream1 {public static void main(String[] args) {//、如何茯取List集合的Stream流?List<String> names new ArrayList<>();Collections. addAll(names,"方法…...

【Python Loguru】实现日志工具和日志饶接

【Python Loguru】实现日志工具和日志饶接 说明 代码使用第三方库Loguru实现了logging工具&#xff0c;可以直接改名字后就使用&#xff0c;并实现了日志绕接&#xff0c;使用前需要先安装loguru工具。 Code import os import json from loguru import logger# config_file…...

OpenClaw文件管理术:GLM-4.7-Flash智能归类200+文档

OpenClaw文件管理术&#xff1a;GLM-4.7-Flash智能归类200文档 1. 为什么需要智能文件管理助手 作为一个长期与各种技术文档打交道的开发者&#xff0c;我的电脑桌面常年处于"灾难现场"状态。上周整理项目资料时&#xff0c;发现同一个技术方案的三个版本散落在下载…...

从零开始:使用TypeScript快速构建浏览器RPG游戏的终极指南

从零开始&#xff1a;使用TypeScript快速构建浏览器RPG游戏的终极指南 【免费下载链接】RPG-JS Framework to create an RPG or MMORPG (with the same code) in the browser with Typescript 项目地址: https://gitcode.com/gh_mirrors/rp/RPG-JS 想要在浏览器中创建令…...

Stalwart邮件服务器架构设计与性能调优深度解析

Stalwart邮件服务器架构设计与性能调优深度解析 【免费下载链接】stalwart Secure & Modern All-in-One Mail Server (IMAP, JMAP, SMTP) 项目地址: https://gitcode.com/GitHub_Trending/ma/stalwart 在现代化邮件系统部署中&#xff0c;企业面临的核心挑战是如何在…...

如何利用Metabase实现联邦学习驱动的智能数据分析:三步入门指南

如何利用Metabase实现联邦学习驱动的智能数据分析&#xff1a;三步入门指南 【免费下载链接】metabase metabase/metabase: 是一个开源的元数据管理和分析工具&#xff0c;它支持多种数据库&#xff0c;包括 PostgreSQL、 MySQL、 SQL Server 等。适合用于数据库元数据管理和分…...

汽车零件分装报警系统(1)

这个项目是对汽车零件&#xff08;机油滤芯&#xff09;分装的时候编码进行警报&#xff0c;机器识别楚错误编码的时候会报警&#xff0c;编码使用正则表达式设置一个正确编码范围&#xff0c;摄像头连接警报器&#xff0c;使用paddleOCR和opencv相关技术&#xff0c;pyqt5设计…...

面试官:MySQL 唯一索引和主键索引的区别?(修订版)

在线 Java 面试刷题&#xff08;持续更新&#xff09;&#xff1a;https://www.quanxiaoha.com/java-interview面试考察点索引类型理解&#xff1a;面试官不仅仅是想知道 "有什么区别"&#xff0c;更是想考察你是否理解主键索引&#xff08;聚簇索引&#xff09;和唯…...

Python实战:5步搞定MFCC语音特征提取(附完整代码)

Python实战&#xff1a;5步搞定MFCC语音特征提取&#xff08;附完整代码&#xff09; 语音识别技术正以前所未有的速度渗透到智能家居、车载系统和虚拟助手等场景中。作为这项技术的核心&#xff0c;梅尔频率倒谱系数&#xff08;MFCC&#xff09;因其对人耳听觉特性的高度模拟…...

避坑指南:Flink CDC监听Oracle时,LogMiner查不到数据导致任务挂掉的排查与修复

Flink CDC监听Oracle数据变更的深度避坑指南&#xff1a;LogMiner查询失效与性能优化实战 引言&#xff1a;当数据流突然中断时 凌晨三点&#xff0c;监控系统突然报警——Flink CDC任务持续运行两周后突然停止向Kafka推送数据变更。查看日志发现大量"ORA-00308: cannot o…...

Node.js定时任务终极解决方案:Agenda完整实践指南

Node.js定时任务终极解决方案&#xff1a;Agenda完整实践指南 【免费下载链接】agenda Lightweight job scheduling for Node.js 项目地址: https://gitcode.com/gh_mirrors/ag/agenda 你是否曾经在Node.js项目中遇到过这样的困扰&#xff1f;需要在特定时间执行数据库清…...

零门槛体验:Qwen3-4B-Thinking模型一键部署,chainlit前端轻松调用

零门槛体验&#xff1a;Qwen3-4B-Thinking模型一键部署&#xff0c;chainlit前端轻松调用 1. 模型简介与准备工作 1.1 模型背景介绍 Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF是一个基于vLLM框架部署的文本生成模型&#xff0c;由TeichAI团队开发。这个模型在OpenAI…...