资源推荐:
视频资源: 软件测试相关系列视频
社区资源: 自动化测试交流群
package com.testng.examples;
import org.testng.Assert;
import org.testng.annotations.Test;
public class AssertTest {
@Test
public void test() {
/**
* Assert#assertEquals
*
* 1.assertEquals方法可对java中所有数据类型进行断言比较。
* 2.基本数据类型直接进行值比较进行断言
* 3.包装类及自定义继承自Object的数据类型则使用equals方法进行比较
* 4.Set类型数据使用类的equals方法进行比较(Set类已复写Object的equals方法)
* 5.其他Collection类型数据,比如List类型数据,则按顺序遍历所有元素,并使用equals方法进行比较
* 6.数组类型数据,遍历数组中各元素,并通过元素类型的equals方法进行比较,如果数组元素为基本数据类型则使用值比较
*/
/*
Assert.assertEquals(actual, expected);
Assert.assertEquals(actual, expected, message);
Assert.assertEquals(actual, expected, delta);
Assert.assertEquals(actual, expected, delta, message);
*/
//用于对map数据类型进行比较,该方法会对map元素中数组各元素按顺序比较
//Assert.assertEqualsDeep(null, null);
//用于对set数据类型进行比较,该方法会遍历set元素中所有元素,且Set数据为数组类型时,会对数组各元素按顺序比较
//Assert.assertEqualsDeep(actual, expected, message);
String[] a = new String[]{"a3","a1","a2"};
String[] a1 = new String[]{"a3","a1","a2"};
String[] b = new String[]{"a1","a2","a3"};
Assert.assertEquals(a, a1);
Assert.assertNotEquals(a, b);
System.out.println(a.equals(a1));//true
//断言两个数组包含相同元素,并且忽略数组元素的排列顺序
Assert.assertEqualsNoOrder(a, b);
//断言两个bool类型数据
Assert.assertFalse(false);
Assert.assertTrue(true);
//断言Object类型数据是否为null
Assert.assertNull(null);
Assert.assertNotNull(new Object());
//断言两个对象是否引用同一个对象
//ssert.assertSame(new Integer(1), new Integer(1));//failed
Assert.assertNotSame(new Integer(1), new Integer(1));//success
//断言一段可执行程序有异常抛出
Assert.assertThrows(()->{throw new RuntimeException();});//success
//Assert.assertThrows(NullPointerException.class, ()->{throw new RuntimeException();}); //failed
//自定义断言失败
//Assert.fail("Test execution failed cased by somthing reason.");
}
}