前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用TestNG中HardAssert和SoftAssert断言

使用TestNG中HardAssert和SoftAssert断言

作者头像
桑鱼
发布2020-04-23 16:45:19
1.1K0
发布2020-04-23 16:45:19
举报
一个接口测试的常见流程:

第一步:发起请求 第二步:断言响应状态是否200,如果成功继续 第三步:断言响应时间是否符合标准(非必须) 第四步:断言响应数据是否正确,一般的做法是判断某个值是否相等或者包含关系。

Assert 类

断言是一个接口用例执行成功的关键,TestNG中最常用的一个断言类是Assert.java,里面包含很多个静态方法。

  1. Assert.assertTrue(condition, message)

如果condition为真,该断言运行通过,如果condition为假,抛出异常并打印message的信息

与assertTrue()相对应的是assertFalse(condition, message)方法,如果condition结果为false,则断言成功,condition为true,断言失败并打印message信息

  1. Assert.assertEquals(actual, expected)

TestNG的assertEquals()方法提供了超过30多种的重载方法,这些方法支持不同的数据类型和集合类操作

Assert.assertEquals(actual, expected, message)。actual与expected比较结果如果不相等,抛出断言异常并显示message的信息。

  1. assertEqualsNoOrder(Object[] actual, Object[] expected)

判断两个数组是否相同,忽略排序位置

与 Assert.assertEquals 相反的是Assert.assertNotEquals(actual, expected, message),actual 与 expected 不相等的话则断言成功,相等的话断言失败并抛出断言异常并显示message的信息

  1. assertNotNull(object, “message”)

对象非空判断,断言对象不为空,否则,抛出异常,打印message1的内容。

  1. assertSame(actual, expect, “message”)

断言两个对象相同,这里相同和上面的Equals不同,Equals是值比较,而Same是内存地址比较

与assertSame(actual, expect, “message”)相反的是assertNotSame(actual, expect, “message”),断言两个对象内存地址不相同

SoftAssert 类

在 Assert.java 也称为硬断言。硬断言就是,如果运行到这行断言失败,即使该用例,后面还有其他代码行,也不会继续执行下去。SoftAssert 可以解决这个问题。

SoftAssert 的特点: 1)一个用例有多个断言,失败了其中一个,不影响其他断言的运行 2)在该用例的最后一个断言调用assertAll()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一个接口测试的常见流程:
  • Assert 类
  • SoftAssert 类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档