当前位置: 首页 > 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…...

MicroClaw:跨平台智能体运行时,统一AI助手部署与管理

1. 项目概述&#xff1a;一个跨平台的智能体运行时如果你曾经尝试过在不同的聊天平台上部署AI助手&#xff0c;比如在Telegram上搞一个&#xff0c;又在Discord上搞一个&#xff0c;你大概率会感到头疼。每个平台都有自己的一套API、认证方式和消息格式&#xff0c;这意味着你几…...

告别top!用htop监控Linux进程,这10个高效用法运维新手必看

告别top&#xff01;用htop监控Linux进程&#xff0c;这10个高效用法运维新手必看 如果你还在用top命令监控Linux服务器状态&#xff0c;就像拿着算盘处理大数据——虽然能用&#xff0c;但效率实在堪忧。作为top的现代化替代品&#xff0c;htop以其彩色界面、鼠标支持和直观的…...

大模型评测实战指南:从基准测试到技术选型的全流程解析

1. 项目概述&#xff1a;为什么我们需要一个“大模型评测”清单&#xff1f;如果你在过去一年里深度参与过大语言模型&#xff08;LLM&#xff09;的应用开发、技术选型或者仅仅是技术追踪&#xff0c;你大概率会和我有同样的感受&#xff1a;“评测”这件事&#xff0c;变得越…...

Spinach印相紧急修复方案:当--v 6.2输出突然丢失青橙分离感时,立即执行的4步CLI热补丁与config.json强制回滚指令

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Spinach印相紧急修复方案&#xff1a;当--v 6.2输出突然丢失青橙分离感时&#xff0c;立即执行的4步CLI热补丁与config.json强制回滚指令 Spinach 6.2 版本在部分 GPU 加速路径下会因色彩空间映射缓存污…...

告别ElementUI日历的默认样式!手把手教你用SCSS深度定制一个高颜值日历组件

从零打造高颜值日历组件&#xff1a;ElementUI Calendar深度定制指南 当你打开项目后台管理系统&#xff0c;那个灰扑扑的默认日历组件是否总让你皱眉&#xff1f;作为前端开发者&#xff0c;我们经常需要在不破坏原有功能的前提下&#xff0c;为ElementUI的Calendar组件换上符…...

FreeRTOS CPU使用率统计的坑:为什么你的数据跑了1小时就不准了?

FreeRTOS CPU使用率统计的陷阱与高精度优化方案 当你在嵌入式系统中集成FreeRTOS的CPU使用率统计功能时&#xff0c;可能会遇到一个令人困惑的现象&#xff1a;系统运行约1小时后&#xff0c;统计数值突然出现明显偏差。这不是你的代码出了问题&#xff0c;而是隐藏在32位变量和…...

CLion集成LVGL与SDL:打造高效嵌入式GUI模拟开发环境

1. 为什么需要CLionLVGLSDL组合&#xff1f; 如果你正在开发嵌入式设备的图形界面&#xff0c;肯定遇到过这样的困境&#xff1a;每次修改UI都要烧录到硬件上测试&#xff0c;一个简单的颜色调整可能要反复折腾十几分钟。我在开发智能手表项目时就深受其害&#xff0c;直到发现…...

NotebookLM与Google Drive整合性能瓶颈实测报告:单次索引超10万页PDF时,延迟突增217%的根源与绕行方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM与Google Drive整合性能瓶颈实测报告&#xff1a;单次索引超10万页PDF时&#xff0c;延迟突增217%的根源与绕行方案 延迟突增的核心成因 实测表明&#xff0c;当 NotebookLM 通过 Google Dr…...

SLEICL框架:用“魔法书”提示工程提升小模型上下文学习性能

1. 项目概述&#xff1a;用“魔法书”解锁小模型的大潜能 如果你最近在折腾大语言模型&#xff0c;尤其是那些参数规模在7B、13B左右的“小模型”&#xff0c;可能会发现一个头疼的问题&#xff1a;想让它们通过上下文学习&#xff08;In-context Learning, ICL&#xff09;的方…...

FMCP协议:构建创作者统一文件管理中枢,打破应用孤岛

1. 项目概述&#xff1a;一个为创作者而生的文件管理中枢如果你是一位内容创作者&#xff0c;无论是视频剪辑师、摄影师、平面设计师&#xff0c;还是播客制作人&#xff0c;你的工作流里一定少不了与海量文件打交道。原始素材、工程文件、渲染输出、版本迭代……这些文件散落在…...