TestNG @Test注释属性-expectedExceptions属性

在这篇文章中,我们将讨论TestNG中的exceptedExceptions属性。

exceptedExceptions属性有什么作用?有时,在我们的测试用例中,我们需要验证是否发生了某些异常。这个属性将帮助我们实现这一点。它需要一个异常类数组并检查该异常是否发生。
但是,如果列出的任何异常没有发生,它将通过该测试。

语法

exceptedExceptions将采用一串异常类,如下所示-

@Test(expectedExceptions = {IOException.class, ArithmeticException.class}) 

现在,我们将编写三个测试用例——

  • test1-这将使用预期的异常={IOExceptions. class,ArithmeticException.class}并抛出IOException,这是列出的异常的一部分。
  • test2-这也将使用预期的异常={IOExceptions. class,ArithmeticException.class},但不会引发任何异常。
  • test3-这也将使用预期的异常={IOExceptions. class,ArithmeticExceptions.class},但会抛出一个ArrayIndexOutOfBoundsException,这不是列出的异常的一部分
import java.io.IOException;
import org.testng.annotations.Test;public class CodekruTest {// this test will pass@Test(expectedExceptions = { IOException.class, ArithmeticException.class })public void test1() throws IOException {System.out.println("test1 throwing an IOException");throw new IOException();}// this test will fail@Test(expectedExceptions = { IOException.class, ArithmeticException.class })void publictest2() {System.out.println("test2 not throwing an exception");}// this test will also fail@Test(expectedExceptions = { IOException.class, ArithmeticException.class })void publictest3() {System.out.println("test3 throwing an ArrayIndexOutOfBoundsException");throw new ArrayIndexOutOfBoundsException();}}

输出-

test1 throwing an exception
test2 not throwing an exception
test3 throwing an exception
PASSED: test1
FAILED: test2
FAILED: test3===============================================Default testTests run: 3, Failures: 2, Skips: 0
===============================================
  • test1()传递是因为抛出的异常与预期异常列表中存在的异常之一匹配。
  • test2()失败,因为没有抛出异常,并且预计应该抛出列出的预期异常之一。
  • test3()失败,因为抛出了不同的异常类型,未在预期的异常列表中列出。

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

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

相关文章

MongoDB Helloworld For Window

1. 下载MongoDB Download MongoDB Community Server | MongoDB 2. 安装MongoDB 3. 创建DB. 4. 用java code 连接mongo. 做增删改查操作。 pom.xml <dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId>&…

初次实战SQL注入

目录 1.判断漏洞是否存在 2.判断注入类型&#xff08;数字型/字符型&#xff09; 3.猜列数 4.联合查询判断回显位 6.获取数据库表明 此实验为本人学习内容&#xff0c;从未攻击任何网站&#xff01;&#xff01;&#xff01;请伙伴们同样遵纪守法&#xff01;&#xff01;…

一个复杂的数据流转换:文件流转base64

一个复杂的数据流转换&#xff1a;文件流转base64 可是我再也没遇到一个像福贵这样令我难忘的人了&#xff0c;对自己的经历如此清楚&#xff0c;又能如此精彩地讲述自己是如何衰老的。这样的老人在乡间实在是 难以遇上&#xff0c;也许是困苦的生活损坏了他们的记忆&#xff0…

线程池知识点总结

线程池 池化思想&#xff1a;线程池、字符串常量池、数据库连接池 提高资源的利用率 手动创建线程执行任务执行完毕、释放对象 预先创建多个线程对象&#xff0c;放入缓冲池中 优点&#xff1a; 提高线程的利用率提高程序响应速度&#xff08;因为线程对象是提前创建好的…

内存溢出(OOM)-汇总指南

目录 java.lang.OutOfMemoryError:Java heap space 原因分析 示例 解决方案 java.lang.OutOfMemoryError:GC overhead limit exceeded 原因分析 示例 解决方案 java.lang.OutOfMemoryError:Permgen space 原因分析 示例 解决方案 java.lang.OutOfMemoryError:Metas…

(vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)

(vue)el-checkbox 实现展示区分 label 和 value&#xff08;展示值与选中获取值需不同&#xff09; 后端数据 解决方法 在 el-checkbox 标签中间传入要展示的文本即可&#xff0c;代码如下&#xff1a; <el-checkbox-groupv-model"formInline.processFieldList"…

总线要点笔记

1. AXI/AHB/APB差异 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构 AHB (Advanced High-performance Bus) 高级高性能总线 ASB (Advanced System Bus) 高级系统总线 APB (Advanced Peripheral Bus) 高级外围总线 AXI (Advanced eXtensible Interface) …

公众号运营的基本流程分享,纯干货!

公众号运营是一个系统工程&#xff0c;需要运营者从定位与策划、内容创作、引流与互动三个方面进行精心设计和执行。如何运营好一个公众号&#xff0c;实现高质量的内容输出和有效的用户互动&#xff0c;是许多企业面临的挑战。 本文伯乐网络传媒为您详细解析公众号运营的基本流…

前端学习之HTML(第二天)--多媒体标签和表格标签

注&#xff1a;里面的注释是对各个标签的解释 多媒体标签 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title></title> </head> <body> <!-- audio是音频可以填写绝对路径也可填写相对路径 --> &l…

MySQL学习笔记5: MySQL表的增删查改 (进阶)

目录 前言1. 数据库约束1.1. 约束类型not null 约束unique 唯一约束default 默认值约束primary key 主键约束foreign key 外键约束 2. 表的设计2.1. 实体之间的关系一对一一对多多对多 3. 新增4. 查询4.1. 聚合查询4.1.1. 聚合函数4.1.2. group by 子句4.1.3. having 4.2. 联合…

跨境知识分享:什么是动态IP?和静态IP有什么区别?

对于我们跨境人来说&#xff0c;清楚地了解IP地址、代理IP等这些基础知识&#xff0c;并学会正确地使用IP地址对于保障店铺的安全性和稳定性至关重要&#xff0c;尤其是理解动态IP和静态IP之间的区别&#xff0c;以及如何利用这些知识来防止账号关联&#xff0c;对于每个电商卖…

嵌入式学习33-网络通信

网络: 数据传输,数据共享 1.网络协议模型: OSI协议模型 应用层 实际发送的数据 表示层 发送的数据是否加密 会话层 是否建立会话连接 传输层 数据传输的方式&#xff08;数据…

Day22 Linux高级编程 --- Makefile

Makefile简介: 1.工程管理工具 2.指定目录下编写Makefile文件或者makefile 3.在目录下输入make 4.调用对应目录下的makefile文件 5.根据文件设定的编译规则来编译代码 Makefile语法: 1.格式: 要生成的文件:依赖的文件 生成方式 …

【STM32+OPENMV】二维云台颜色识别及追踪

一、准备工作 有关OPENMV最大色块追踪及与STM32通信内容&#xff0c;详情见【STM32HAL】与OpenMV通信 有关七针OLED屏显示内容&#xff0c;详情见【STM32HAL】七针OLED(SSD1306)配置(SPI版) 二、所用工具 1、芯片&#xff1a;STM32F407ZGT6 2、CUBEMX配置软件 3、KEIL5 4…

GDOI2024游记

Day0 中午一点钟从学校出发去东莞&#xff0c;大概坐了一个多小时车&#xff0c;两点半多到酒店。住的八方精选酒店&#xff08;ljh说他们住九方精选酒店&#xff0c;乐&#xff09;&#xff0c;说的是景区酒店&#xff0c;但打开外窗&#xff0c;近处是简陋的阳台&#xff0c…

上位机图像处理和嵌入式模块部署(qmacvisual入门)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 虽然我们前面学习了很多的知识点&#xff0c;比如说在windows这边&#xff0c;用qt写界面&#xff0c;用opencv写图像处理代码&#xff1b;在linux…

PHP语言常见面试题:PHP中的数据类型有哪些?请举例说明。

在PHP中&#xff0c;有几种基本的数据类型&#xff0c;它们包括&#xff1a; 字符串&#xff08;String&#xff09;&#xff1a;字符串是字符的序列&#xff0c;由零个或多个字符组成。在PHP中&#xff0c;字符串可以包含任何字符&#xff0c;包括字母、数字、空格、标点符号、…

[unity] xLua 热更新 【个人复习笔记/有不足之处欢迎斧正/侵删】

lua解析器 void Start(){//Lua解析器 能够让我们在Unity中执行Lua//一般情况下 保持它的唯一性LuaEnv env new LuaEnv();//执行Lua语言env.DoString("print(你好世界)");//执行一个Lua脚本 Lua知识点 &#xff1a;多脚本执行 require//默认寻找脚本的路径 是在 Res…

cuda python torch 虚拟环境配置

以下是Pytorch和CUDA对应的版本 以下是Pytorch和Python对应的版本 检查cuda与Python版本是否匹配 import torch print(torch.__version__) print(torch.cuda.is_available()) print(torch.empty(3,4,devicecuda))cuda 删除cuda conda uninstall cudatoolkit --forceconda u…

MyBatis三个经典问题

1. Mybatis的执行流程 MyBatis 是一个流行的 Java 持久化框架&#xff0c;提供了对象关系映射 (ORM) 和 SQL 映射的功能&#xff0c;使开发者能够更加方便地与数据库交互。MyBatis 的执行流程大致如下&#xff1a; 配置阶段: 加载配置文件: MyBatis 通过读取配置文件&#xff…