JUnit测试常用断言

JUnit主要使用断言来进行单元测试,常见的断言如表中所示:

断言 功能
assertEquals([String message], expected value, actual value) 检查int, short, long, byte, char或Object等类型的值是否相等,第一个参数是一个可选的字符串消息。
assertEquals(double expected value, double actual value, double delta) 检查指定误差范围内的double类型值是否相等,需要第三个参数delta表示可接受的误差范围。
assertNotEquals([String message], expected value, actual value) 检查值是否不相等,第一个参数是一个可选的字符串消息。
assertArrayEquals([String message], expectedArray, resultArray) 检查两数组内容是否相同
assertTrue(boolean condition) 检查条件是否为真
assertFalse(boolean condition) 检查条件是否为假
assertNull(Object object) 检查对象是否为空
assertNotNull(Object object) 检查对象是否不空
assertSame(Object expected, Object actual) 检查两个变量是否引用同一对象
assertNotSame(Object expected, Object actual) 检查两个变量是否不引用同一对象

测试代码:
package com.junit.main;

import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

class MyTest {
     
	
	String t1="hello";
	String t2="world";
	int num1=1;
	int num2=2;
	int[] arr1=new int[] {
     1,2,3};
	int[] arr2=new int[] {
     1,2,3};
	double dnum1=1.0;
	double dnum2=1.9;
	Object ob1=null;
	Object ob2="hahaha";
	
	@BeforeEach
	void setUp() throws Exception {
     
	}

	@AfterEach
	void tearDown() throws Exception {
     
	}

	@Test
	void testAssertEquals() {
     
		//fail("Not yet implemented");
		assertEquals(num1, num1); //num1和num1相等
		assertNotEquals(num1, num2); //num1和num2不相等
		assertEquals(dnum1, dnum2, 1.0); //dnum1和dnum2的误差为0.9在范围在1.0之内
	}
	
	@Test
	void testAssertTrue() {
     
		assertTrue(num1!=num2);//num1!=num2为true
		assertFalse(num1==num2);//num1==num2为false
	}
	
	@Test
	void testAssertSame() {
     
		assertSame(t1, t1); //t1和t1引用同一对象
		assertNotSame(t1, t2); //t1和t2引用不同对象
	}
	
	@Test
	void testAssertArrayEquals() {
     
		assertArrayEquals(arr1, arr2); //arr1和arr2的数组内容相同
	}
	
	@Test
	void testAssertNull() {
     
		assertNull(ob1); //ob1为null
		assertNotNull(ob2); //ob2不空
	}

}

测试结果:
JUnit测试常用断言_第1张图片

你可能感兴趣的:(软件测试)