找回密码
 立即注册
查看: 111|回复: 0

JavaWeb(SpringBoot3+vue3)开发+教学管理系统项目实战之JUnit单元测试常见注解

[复制链接]

73

主题

3

精华

77

金币

技术维护QQ:515138

积分
165
发表于 2025-11-9 18:14:45 | 显示全部楼层 |阅读模式
JavaWeb(SpringBoot3+vue3)开发+教学管理系统项目实战之JUnit单元测试常见注解

在JUnit中还提供了一些注解,还增强其功能,常见的注解有以下几个:

注解
说明
备注
@Test
测试类中的方法用它修饰才能成为测试方法,才能启动执行单元测试
@BeforeEach
用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。初始化资源(准备工作)
@AfterEach
用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。释放资源(清理工作)
@BeforeAll
用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次。初始化资源(准备工作)
@AfterAll
用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次。释放资源(清理工作)
@ParameterizedTest
参数化测试的注解 (可以让单个测试运行多次,每次运行时仅参数不同)用了该注解,就不需要@Test注解了
@ValueSource
参数化测试的参数来源,赋予测试方法参数与参数化测试注解配合使用
@DisplayName
指定测试类、测试方法显示的名称 (默认为类名、方法名)
  1. package com.jinhei;
  2. import org.junit.jupiter.api.*;
  3. public class UserServiceTest {
  4.     @BeforeEach // 在每一个单元测试方法运行之前,都会运行一次
  5.     public void testBefore(){
  6.         System.out.println("BeforeEach...");
  7.     }
  8.     @AfterEach // 在每一个单元测试方法运行之后,都会运行一次
  9.     public void testAfter(){
  10.         System.out.println("AfterEach...");
  11.     }
  12.     @BeforeAll //该方法必须被static修饰,在所有的单元测试方法执行之前执行,只执行一次
  13.     public static void testBeforeAll(){
  14.         System.out.println("BeforeAll ...");
  15.     }
  16.     @AfterAll //该方法必须被static修饰,在所有的单元测试方法执行之后执行,只执行一次
  17.     public static void testAfterAll(){
  18.         System.out.println("AfterAll...");
  19.     }
  20.     @Test
  21.     public void testGetAge(){
  22.         Integer age = new UserService().getAge("110002200505091218");
  23.         System.out.println(age);
  24.     }
  25.     @Test
  26.     public void testGetGender(){
  27.         String gender = new UserService().getGender("612429198904201611");
  28.         System.out.println(gender);
  29.     }
  30. }
复制代码
代码运行结果如下图:
代码运行结果.jpg
  1. package com.jinhei;
  2. import org.junit.jupiter.api.*;
  3. import org.junit.jupiter.params.ParameterizedTest;
  4. import org.junit.jupiter.params.provider.ValueSource;
  5. @DisplayName("测试-学生业务操作")
  6. public class UserServiceTest {
  7. //
  8. //    @BeforeEach // 在每一个单元测试方法运行之前,都会运行一次
  9. //    public void testBefore(){
  10. //        System.out.println("BeforeEach...");
  11. //    }
  12. //
  13. //    @AfterEach // 在每一个单元测试方法运行之后,都会运行一次
  14. //    public void testAfter(){
  15. //        System.out.println("AfterEach...");
  16. //    }
  17. //
  18. //    @BeforeAll //该方法必须被static修饰,在所有的单元测试方法执行之前执行,只执行一次
  19. //    public static void testBeforeAll(){
  20. //        System.out.println("BeforeAll ...");
  21. //    }
  22. //
  23. //    @AfterAll //该方法必须被static修饰,在所有的单元测试方法执行之后执行,只执行一次
  24. //    public static void testAfterAll(){
  25. //        System.out.println("AfterAll...");
  26. //    }
  27. //
  28. //    @Test
  29. //    public void testGetAge(){
  30. //        Integer age = new UserService().getAge("110002200505091218");
  31. //        System.out.println(age);
  32. //    }
  33. //
  34. //    @Test
  35. //    public void testGetGender(){
  36. //        String gender = new UserService().getGender("612429198904201611");
  37. //        System.out.println(gender);
  38. //    }
  39.     @DisplayName("测试-获取年龄")
  40.     @Test
  41.     public void testGetAge(){
  42.         Integer age = new UserService().getAge("110002200505091218");
  43.         System.out.println(age);
  44.     }
  45.     @DisplayName("测试-获取性别")
  46.     @Test
  47.     public void testGetGender(){
  48.         String gender = new UserService().getGender("612429198904201611");
  49.         System.out.println(gender);
  50.     }
  51.     @DisplayName("测试-获取性别3")
  52.     @ParameterizedTest
  53.     @ValueSource(strings = {"612429198904201611","612429198904201631","612429198904201626"})
  54.     public void testGetGender3(String idcard){
  55.         String gender = new UserService().getGender(idcard);
  56.         System.out.println(gender);
  57.     }
  58. }
复制代码
代码运行结果如下图:
代码运行结果.jpg

网站建设,公众号小程序开发,系统定制,软件App开发,技术维护【联系我们】手机/微信:17817817816 QQ:515138

QQ|Archiver|自丢网 ( 粤ICP备2024252464号-1 )

GMT+8, 2025-12-1 07:02

专注于网站建设,公众号小程序制作,商城小程序,系统定制,软件App开发

【联系我们】手机/微信:17817817816 QQ:515138

快速回复 返回顶部 返回列表