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所有断言都可以加失败提示信息方便排查问题