JavaWeb(SpringBoot3+vue3)开发+教学管理系统项目实战之JUnit单元测试常见注解
在JUnit中还提供了一些注解,还增强其功能,常见的注解有以下几个:
注解 | 说明 | 备注 | @Test | 测试类中的方法用它修饰才能成为测试方法,才能启动执行 | 单元测试 | @BeforeEach | 用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。 | 初始化资源(准备工作) | @AfterEach | 用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。 | 释放资源(清理工作) | @BeforeAll | 用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次。 | 初始化资源(准备工作) | @AfterAll | 用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次。 | 释放资源(清理工作) | @ParameterizedTest | 参数化测试的注解 (可以让单个测试运行多次,每次运行时仅参数不同) | 用了该注解,就不需要@Test注解了 | @ValueSource | 参数化测试的参数来源,赋予测试方法参数 | 与参数化测试注解配合使用 | @DisplayName | 指定测试类、测试方法显示的名称 (默认为类名、方法名) | |
- package com.jinhei;
-
- import org.junit.jupiter.api.*;
-
- public class UserServiceTest {
-
- @BeforeEach // 在每一个单元测试方法运行之前,都会运行一次
- public void testBefore(){
- System.out.println("BeforeEach...");
- }
-
- @AfterEach // 在每一个单元测试方法运行之后,都会运行一次
- public void testAfter(){
- System.out.println("AfterEach...");
- }
-
- @BeforeAll //该方法必须被static修饰,在所有的单元测试方法执行之前执行,只执行一次
- public static void testBeforeAll(){
- System.out.println("BeforeAll ...");
- }
-
- @AfterAll //该方法必须被static修饰,在所有的单元测试方法执行之后执行,只执行一次
- public static void testAfterAll(){
- System.out.println("AfterAll...");
- }
-
- @Test
- public void testGetAge(){
- Integer age = new UserService().getAge("110002200505091218");
- System.out.println(age);
- }
-
- @Test
- public void testGetGender(){
- String gender = new UserService().getGender("612429198904201611");
- System.out.println(gender);
- }
- }
复制代码 代码运行结果如下图:
- package com.jinhei;
-
- import org.junit.jupiter.api.*;
- import org.junit.jupiter.params.ParameterizedTest;
- import org.junit.jupiter.params.provider.ValueSource;
-
- @DisplayName("测试-学生业务操作")
- public class UserServiceTest {
- //
- // @BeforeEach // 在每一个单元测试方法运行之前,都会运行一次
- // public void testBefore(){
- // System.out.println("BeforeEach...");
- // }
- //
- // @AfterEach // 在每一个单元测试方法运行之后,都会运行一次
- // public void testAfter(){
- // System.out.println("AfterEach...");
- // }
- //
- // @BeforeAll //该方法必须被static修饰,在所有的单元测试方法执行之前执行,只执行一次
- // public static void testBeforeAll(){
- // System.out.println("BeforeAll ...");
- // }
- //
- // @AfterAll //该方法必须被static修饰,在所有的单元测试方法执行之后执行,只执行一次
- // public static void testAfterAll(){
- // System.out.println("AfterAll...");
- // }
- //
- // @Test
- // public void testGetAge(){
- // Integer age = new UserService().getAge("110002200505091218");
- // System.out.println(age);
- // }
- //
- // @Test
- // public void testGetGender(){
- // String gender = new UserService().getGender("612429198904201611");
- // System.out.println(gender);
- // }
- @DisplayName("测试-获取年龄")
- @Test
- public void testGetAge(){
- Integer age = new UserService().getAge("110002200505091218");
- System.out.println(age);
- }
-
- @DisplayName("测试-获取性别")
- @Test
- public void testGetGender(){
- String gender = new UserService().getGender("612429198904201611");
- System.out.println(gender);
- }
-
- @DisplayName("测试-获取性别3")
- @ParameterizedTest
- @ValueSource(strings = {"612429198904201611","612429198904201631","612429198904201626"})
- public void testGetGender3(String idcard){
- String gender = new UserService().getGender(idcard);
- System.out.println(gender);
- }
- }
复制代码 代码运行结果如下图:
|