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

TestNG 常用断言(Assert)

TestNG 的断言都在org.testng.Assert类中是自动化测试接口 / UI判断用例是否通过的核心工具。我整理了最常用、高频使用的断言方法直接复制就能用。一、最常用基础断言1. 断言结果为truejava运行Assert.assertTrue(condition, 失败提示信息);示例java运行Assert.assertTrue(10 5, 数值判断失败);2. 断言结果为falsejava运行Assert.assertFalse(condition, 失败提示信息);3. 断言两个值相等java运行Assert.assertEquals(actual, expected, 失败提示信息);支持int、String、boolean、对象、集合、数组等。示例java运行Assert.assertEquals(实际值, 期望值, 文本不匹配); Assert.assertEquals(200, response.getCode(), 响应码错误);4. 断言两个值不相等java运行Assert.assertNotEquals(actual, expected, 失败提示信息);二、空值断言1. 断言对象为 nulljava运行Assert.assertNull(object, 对象不为 null);2. 断言对象不为 nulljava运行Assert.assertNotNull(object, 对象为 null);三、字符串 / 集合常用断言1. 字符串包含最常用TestNG 没有直接的assertContains可以这样写java运行Assert.assertTrue(实际字符串.contains(期望子串), 字符串不包含指定内容);示例java运行String resp {\code\:200,\msg\:\success\}; Assert.assertTrue(resp.contains(success), 响应不包含成功标识);2. 集合 / 数组相等java运行ListString list1 Arrays.asList(a, b); ListString list2 Arrays.asList(a, b); Assert.assertEquals(list1, list2, 集合不相等);四、异常断言重点断言某段代码一定会抛出指定异常java运行Assert.assertThrows(期望异常类.class, () - { // 可能抛出异常的代码 });示例java运行Assert.assertThrows(ArithmeticException.class, () - { int a 1 / 0; });五、强制失败手动让用例失败java运行Assert.fail(用例执行失败原因xxx);六、软断言不中断用例普通断言失败会立即停止用例 软断言SoftAssert会收集所有失败最后统一输出。使用步骤java运行// 1. 创建软断言对象 SoftAssert softAssert new SoftAssert(); // 2. 使用软断言 softAssert.assertEquals(1,2); softAssert.assertTrue(false); // 3. 必须调用否则不生效 softAssert.assertAll();七、完整示例java运行import org.testng.Assert; import org.testng.annotations.Test; public class AssertDemo { Test public void testCommonAssert() { // 1. 相等断言 Assert.assertEquals(test, test, 字符串不相等); // 2. 为真 Assert.assertTrue(1 1, 判断失败); // 3. 不为空 Assert.assertNotNull(hello, 对象为空); // 4. 包含 String str I love TestNG; Assert.assertTrue(str.contains(TestNG), 不包含指定文本); // 5. 异常断言 Assert.assertThrows(NullPointerException.class, () - { String s null; s.length(); }); } }总结最常用assertEquals()、assertTrue()、assertFalse()字符串包含用assertTrue(字符串.contains())异常assertThrows()不中断用例用SoftAssert所有断言都可以加失败提示信息方便排查问题
http://www.gsyq.cn/news/1408202.html

相关文章:

  • C语言程序设计作业题
  • 烟台商户获客适配出租车媒体广告机构排行一览 - 奔跑123
  • CLAD:基于OpenCL的并行自动微分库,加速大规模光束法平差
  • STM32+ESP8266 MQTT实战:从传感器到OneNet物联网平台的数据上云之旅
  • 从点击理由看《痛快活一回》的推荐路径
  • Labview 机器视觉(1)之环境搭建与模块选型
  • 2026 国内 GEO 优化服务排行榜:TOP5 权威评测
  • 告别原生Socket:用Netty 4.1.72重构你的Modbus-RTU服务端(附心跳与设备管理实战)
  • 清单来了:盘点2026年最受欢迎的的AI智能降重工具 - 降AI小能手
  • Mac小白必看:用Easy App Locker给微信、相册加把锁,再也不怕别人借电脑了
  • 温州沙发翻新换皮换布哪家好?匠阁 / 御匠 / 锦修三大品牌联系方式、服务内容及区域全解析 - 卓信营销
  • 从搜索入口看《我想我爱到失眠了》的传播价值
  • STM32MP157实战:手把手教你搞定USB OTG驱动,让开发板变身U盘和声卡
  • 避坑指南:STM32MP157 USB Host驱动配置与Type-C芯片(FUSB302)移植详解
  • 避坑指南:在RV1126的Buildroot系统上适配GC2053摄像头驱动,解决常见编译与拉流问题
  • ping、telnet、ssh远程连接全套详解——连通性测试、端口探测、远程登录
  • 别再用虚拟机了!实测在Windows本地用OpenCDA跑多车协同仿真(附性能对比)
  • Allegro PCB设计:如何快速定位并清理那些烦人的‘过期形状’提示(附个人快捷键设置)
  • 有限重采样下的置信区间修正:Bootstrap与子采样的计算效率与统计可靠性平衡
  • 干扰对齐与人工噪声协同优化:提升多用户中继网络安全性能
  • 软硬件协同优化:基于可定制处理器提升模板计算能效比的工程实践
  • 从黑客松到工程实践:智能体架构如何重塑复杂系统设计
  • 别再单打独斗了!用CrewAI搭建你的第一个多Agent协作项目(附完整代码)
  • 告别盲目升级:在CentOS 7上如何精准安装指定版本的内核(附ELRepo仓库使用详解)
  • 飞腾/鲲鹏服务器上,openEuler 20.03 SP3离线安装Docker 20.10.23保姆级避坑指南
  • PostgreSQL FDW实战:5分钟搞定跨库查询,告别数据孤岛
  • STM32 Modbus从机实战:用EEPROM实现继电器状态断电记忆(附完整工程)
  • Qt6.6.2 LTS国内镜像安装保姆级教程:从下载到配置,避开20G磁盘占用坑
  • 天龙八部GM工具终极指南:免费高效的单机游戏管理解决方案
  • C语言穷举法实战:用‘换硬币’习题带你吃透多重循环(附完整代码与调试技巧)