TestNg @Test的expectedExceptionsMessageRegExp属性

本文将讨论TestNG中@Test 注解的expectedExceptionsMessageRegExp属性。

这个属性有什么作用?根据文档:

如果指定了expectedExceptions ,则其消息必须与此属性中指定的正则表达式匹配。

因此,这意味着如果不先使用expectedparameter,我们将无法使用此属性。请阅读这篇文章,了解更多关于expectedbacklist属性的信息。这里expectedExceptionsMessageRegExp将使用正则表达式(regex)来匹配抛出的异常消息。

import java.io.IOException;
import org.testng.annotations.Test;public class CodekruTest {// matching an empty regex string@Test(expectedExceptions = { IOException.class, ArithmeticException.class }, expectedExceptionsMessageRegExp = "")public void test1() throws IOException {System.out.println("test1 throwing an IOException");throw new IOException("");}// matching exact regex@Test(expectedExceptions = { IOException.class,ArithmeticException.class }, expectedExceptionsMessageRegExp = "codekru")public void test2() throws IOException {System.out.println("test1 throwing an IOException");throw new IOException("codekru");}// this test will fail as message do not match the regex@Test(expectedExceptions = { IOException.class,ArithmeticException.class }, expectedExceptionsMessageRegExp = "bye")public void test3() throws IOException {System.out.println("test1 throwing an IOException");throw new IOException("codekru");}// here used regex to match the thrown exception message@Test(expectedExceptions = { IOException.class }, expectedExceptionsMessageRegExp = "^Hi .*$")public void test4() throws Exception {throw new IOException("Hi Codekru test");}}

产出-

test1 throwing an IOException
test1 throwing an IOException
test1 throwing an IOException
PASSED: test1
PASSED: test2
PASSED: test4
FAILED: test3
org.testng.TestException: 
The exception was thrown with the wrong message: expected "bye" but got "codekru"at org.testng.internal.ExpectedExceptionsHolder.wrongException(ExpectedExceptionsHolder.java:71)

所以,这里test3()失败是因为抛出的异常消息与正则表达式不匹配,这就是我们在TestNG中使用expectedExceptionsMessageRegExp属性的方式。请访问此链接以了解有关常规异常符号的更多信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫加密算法

js常见的加密方式 加密在前端开发和爬虫中是经常遇见的。掌握了加密算法且可以将加密的密文进行解密破解的,也是你从一个编程小白到大神级别质的一个飞跃。且加密算法的熟练和剖析也是很有助于帮助我们实现高效的js逆向。下述只把我们常用的加密方法进行总结。不去深…

若依ruoyi-vue中的的DTO、VO、BO、PO、DO、POJO

POJO POJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO、BO、 PO、 DTO VO (view object/value object)表示层对象 1、前端展示的数据,在接口数据返回给前端的时候需要转成VO 2、个人理解使用场景,接…

Python 常用的开源爬虫库介绍

Python 是一种广泛使用的编程语言,特别是在 Web 爬虫领域。有许多优秀的开源爬虫库可以帮助开发者高效地抓取网页内容。以下是几个常用的 Python 爬虫库及其特点和优势: BeautifulSoup 特点 - **HTML/XML 解析**:BeautifulSoup 是一个…

linux(Ubuntu22) 一篇带你学会Linux,详细篇

Linux 简介 精通Linux,自带python,系统开源 电脑可安装双系统 c盘安装win D盘安装linux 在一套硬件上只能同时运行一个操作系统 虚拟机 模拟真实环境 在虚拟机内运行操作系统 需要硬件支持虚拟化 开启VT-X VM…

opengl程序错误,无法定位程序输入点 glewGetErrorString@4 于动态链接库

使用mingw编译器编译运行opengl程序,编译通过运行时崩溃 怀疑是之前的mingw版本编译的glew库版本不对,又重新编译一遍,还是这个错误 之后检查环境变量配置,发现有两个glew的路径,一个是msvc版的,另一个是m…

JavaScript 语法-对象

对象 JavaScript 中的对象是一组键值对的集合,其中每个键都是字符串,每个值可以是任意类型。 对象是由一些属性和方法组成的集合,属性可以用来存储数据,方法可以用来操作数据。 属性和方法使用“.”来访问 // 创建一个对象 let …

教你把公司吃干抹净、榨干带走

大家好: 衷心希望各位点赞。 您的问题请留在评论区,我会及时回答 正文 打工人一定要做到够自私,把公司的一切为我所用,你要知道闷头打工是没有出路的。聪明的人会以最快的速度榨干带走公司的一切资源、人脉、技能,为…

五种主流数据库:数据汇总

汇总分析是数据报表中的基本功能,例如产品销售金额的汇总、学生的平均身高和标准差统计等。SQL 定义了聚合函数,可以实现数据的汇总分析。 本文比较五种主流数据库支持的常见聚合函数,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLi…

【C++PCL】点云处理RANSAC配准

目录 1.原理介绍 2.代码效果 3.源码展示 4.参数调试 5.注意事项

Unity WebGL服务器标头的问题

目录 现象: 报错文本: 原因: 解决方案: 现象: 打包前,ProjectSetting 压缩选项设置为Brotli, 将打包的WebGL部署到阿里云OSS环境后,运行弹框提示错误. 报错文本: Unable to parse Build/WebGL.framework.js.br! This canha…

二、Jooq整合SpringBoot

在当前微服务盛行的情况下,Spring Boot 或 Spring Cloud 为基础的微服务体系是主流, 也是目前业务场景中新的选型方向 数据库表 -- filesystem.user definitionCREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,username varchar(50) NOT NULL,…

三级等保技术建议书

1信息系统详细设计方案 1.1安全建设需求分析 1.1.1网络结构安全 1.1.2边界安全风险与需求分析 1.1.3运维风险需求分析 1.1.4关键服务器管理风险分析 1.1.5关键服务器用户操作管理风险分析 1.1.6数据库敏感数据运维风险分析 1.1.7“人机”运维操作行为风险综合分析 1.2…

QT----基于QT的人脸考勤系统

目录 1 编译opencv库1.1 下载源代码1.2 qt编译opencv1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat 2 编译SeetaFace2代码2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has2.2遇到报错Model missing 3 测试…

洛谷 保龄球

保龄球 题目描述 DL 算缘分算得很烦闷,所以常常到体育馆去打保龄球解闷。因为他保龄球已经打了几十年了,所以技术上不成问题,于是他就想玩点新花招。 DL 的视力真的很不错,竟然能够数清楚在他前方十米左右每个位置的瓶子的数量…

sqllab通关笔记(汇总)

第一关: Sqllab第一关通关笔记-CSDN博客 第二关: sqllab第二关通关笔记-CSDN博客 第三关: sqllab第三关通关笔记-CSDN博客 第四关: sqllab第四关通关笔记-CSDN博客 第五关: sqllab第五关通关笔记-CSDN博客 第…

web高可用集群(nginx负载均衡+keepalived实现调度器HA)

web高可用集群(nginx负载均衡keepalived实现调度器HA) 主机IP地址代理服务器192.168.88.66代理服务器192.168.88.38Real server192.168.88.10Real server192.168.88.20 配置俩台Real server [rootweb1 ~]# vim /etc/yum.repos.d/nginx.repo [rootweb1 ~]# cat /e…

KT6368A蓝牙主从一体芯片_功能简要说明

一、功能简介 新增KT1328A芯片方案的蓝牙主从一体版本,实现的是主从一体相互切换,也就是说可以设置为主机【类似于手机的角色】,也可以设置为从机角色,通过AT指令 此版本的型号命名为:KT1328A-SOP8 。后续需要下单…

牛客NC125 和为K的连续子数组【中等 哈希+前缀和 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/704c8388a82e42e58b7f5751ec943a11 思考 滑动窗口,map,前缀和参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修…

奇舞周刊第522期:“Vite 又开始搞事情了!!!”

奇舞推荐 ■ ■ ■ Vite 又开始搞事情了!!! Vite 的最新版本将引入一种名为 Rolldown 的新型打包工具。 unocss 究竟比 tailwindcss 快多少? 我们知道 unocss 很快,也许是目前最快的原子化 CSS 引擎 (没有之一)。 巧用…

【小迪安全】学习cho1

介绍了一些名词: POC、EXP、Payload与Shellcode nc -lvvp 端口号 监听服务器端口 个人用机使用最多的是:windows10 服务器用机使用最多的是:Windows8,12,16 流量被防火墙拦截了,到这里进行给与权限 文件…