google网站质量,西安做网站公司有哪些,摄影网课,天津企业网站建设哪家好文章目录 1. 什么是 Junit #xff1f;2. 常见的注解2.1 Test2.2 BeforeAll#xff0c;AfterAll2.3 BeforeEach#xff0c;AfterEach 3. 测试用例顺序指定4. 参数化4.1 单个参数4.2 多个参数4.3 通过方法生成 5. 测试套件6. 断言6.1 断言相等6.2 断言不相等6.3 断言为空6.4 … 文章目录 1. 什么是 Junit 2. 常见的注解2.1 Test2.2 BeforeAllAfterAll2.3 BeforeEachAfterEach 3. 测试用例顺序指定4. 参数化4.1 单个参数4.2 多个参数4.3 通过方法生成 5. 测试套件6. 断言6.1 断言相等6.2 断言不相等6.3 断言为空6.4 断言不为空 1. 什么是 Junit
Junit 是 Java 的单元测试框架 在 Java 项目中加入 Junit 依赖 !-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api --dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.9.1/version/dependency!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params --dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-params/artifactIdversion5.9.1/version/dependency!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite --dependencygroupIdorg.junit.platform/groupIdartifactIdjunit-platform-suite/artifactIdversion1.9.1/version/dependency!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine --dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-engine/artifactIdversion5.9.1/versionscopetest/scope/dependency2. 常见的注解
2.1 Test
Test表名当前的方法是一个测试用例
import org.junit.jupiter.api.Test;public class JunitTest {Testvoid Test01() {System.out.println(这是第一个测试用例);}Testvoid Test02() {System.out.println(这是第二个测试用例);}
} 2.2 BeforeAllAfterAll
BeforeAll当前 class 中所有测试用例执行之前自动执行AfterAll当前 class 中所有测试用例执行结束之后自动执行 BeforeAllstatic void Start() {System.out.println(开始测试);}AfterAllstatic void End() {System.out.println(结束测试);}2.3 BeforeEachAfterEach
BeforeEach当前 class 中每一个测试用例执行结束之前执行一次AfterEach当前 class 中每一个测试用例执行结束之后执行一次
BeforeEachvoid StartV1() {System.out.println(开始执行);}AfterEachvoid EndV1() {System.out.println(执行结束);}3. 测试用例顺序指定
TestMethodOrder(MethodOrderer.OrderAnnotation.class)
4. 参数化
4.1 单个参数 //单参数ParameterizedTestValueSource(ints {1,2,3,4})void Test03(int x) {System.out.println(接收参数是 x x);}单参数有它的弊端只能接收一种类型的参数对应的 Test 方法只能接收一个参数
4.2 多个参数 //多参数ParameterizedTestCsvSource({张三,18})void Test04(String name, int age) {System.out.println(name 今年 age 岁);}参数化对应的注解上面如果写了Test测试用例就会执行两次 其中一次就会报错因为 Test 和 方法结合没有找到参数就会报错 //多参数读取文件中的数据进行操作ParameterizedTestCsvFileSource(resources test01.csv)void Test05(String name, int age) {System.out.println(name: name , age: age);}4.3 通过方法生成 public static StreamArguments Generate() {return Stream.of(Arguments.arguments(张三, 13),Arguments.arguments(李四,14));}//通过方法生成测试数据ParameterizedTestMethodSource(Generate)void Test06(String name, int age) {System.out.println(姓名 name 年龄 age);}5. 测试套件
Suite 6. 断言
6.1 断言相等
//断言相等Testvoid Test07() {int x 10;int y 20;Assertions.assertEquals(x, y);}6.2 断言不相等 //断言不相等Testvoid Test07() {int x 10;int y 20;Assertions.assertNotEquals(x, y);}6.3 断言为空 //断言为空Testvoid Test07() {int x 10;int y 20;String tmp null;Assertions.assertNull(tmp);}6.4 断言不为空 //断言不为空Testvoid Test07() {int x 10;int y 20;String tmp null;Assertions.assertNotNull(tmp);}