1-JUnit5 断言
内置断言方法
第三方库断言
2-内置断言方法
必修
oassertEquals
oassertTrue
进阶
oassertAll
选修
oassertNotNull
oassertTimeout
oassertThrows
3-assertEquals 实例
package com.junit5.assertions;
import org.junit.jupiter.api.Test;
import java.time.Duration;
import static java.lang.Thread.sleep;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
-
必修
-
assertEquals
-
assertTrue
-
进阶
-
assertAll
-
选修
-
assertNotNull
-
assertTimeout
-
assertThrows
*/
public class AssertEqTest {@Test
void assertEqualsTest01(){System.out.println("assertEquals断言测试等于"); assertEquals(2,1+1);
}
@Test
void assertEqualsTest02(){System.out.println("assertEquals断言测试不等于"); assertEquals(3,1+1);
}
@Test
void assertTrueTest01(){
System.out.println(“assertTrue断言测试true”);
assertTrue(3>1);
}@Test
void assertTrueTest(){
System.out.println(“assertTrue断言测试false”);
assertTrue(0>1);
}@Test
void assertNotNullTest01(){
System.out.println(“assertNotNullTe断言测试不为空”);
assertNotNull(null);
}@Test
void assertNotNullTest02(){
System.out.println(“assertNotNullT断言测试为空”);
assertNotNull(123);
}@Test
void assertAllTest01(){
//分组断言,如果一个用例有多个断言,使用assertAll库每个断言都执行且返回执行结果
//第一个参数是一个描述信息
System.out.println(“assertAll断言测试”);
//问题:有一个断言失败,后面的代码全部都不执行
//解决:使用assertAll即可实现,所有字段的断言
assertAll(“NumberAssert”,
()->assertEquals(2,1+1),
()->assertEquals(3,1+1),
()->assertEquals(4,1+1)
);
}@Test
public void assertTimeoutTest01(){
//第一个参数为设置的超时时间,Duration.ofSeconds(3)代表3秒超时
// 第二个参数:lambda表达式
System.out.println(“assertTimeout超时断言测试不超时”);
assertTimeout(Duration.ofSeconds(3),
()->sleep(2000)
);
}@Test
public void assertTimeoutTest02(){
//第一个参数为设置的超时时间,Duration.ofSeconds(3)代表3秒超时
// 第二个参数:lambda表达式为
System.out.println(“assertTimeout超时断言测试超时”);
assertTimeout(Duration.ofSeconds(3),
()->sleep(4000)
);
}@Test
public void assertThrowsTest01(){
System.out.println(“assertThrows异常断言测试超时”);
assertThrows(ArithmeticException.class,()->fn(1,0));}
void fn(int a,int b){
System.out.println(a/b);
}
}