当前位置: 首页 > news >正文

SpringBoot 集成Junit单元测试

学习文章: https://www.cnblogs.com/ysocean/p/6889906.html

开发工具: IDEA 2022.1.4

目录

目录

1. 概述

 2. 实现步骤

        2.1 maven导入依赖

         2.2 随意代码演示(不推荐)

        2.3 规范代码演示(推荐)

3. Junit相关其他注解

4. 注意事项

5. 结语


1. 概述

        接触到Junit,应该是看别人Java代码有一个@Test注解开始。就百度了解下,从英文名看,是“测试”的意思。那么Java方法加入了注解@Test,则说明该方法可直接运行。

        之前写类,如果要测试的话,就在main()方法测试,如果该类方法过多,都写在main的话,要不停的去注释代码,写新的测试代码。那么使用Junit的话,则简便很多,直接加入@Test注解即可。

        观察效果,加入了注解后,方法行前面会有绿色的图标,点击图标,分别点击test()方法和main()方法,显示如下:

 

        也就说,这个test()方法是可以直接运行了。

        需要注意的是,加入@Test注解的方法,声明必须是public void并且无参

 2. 实现步骤

        2.1 maven导入依赖

        <!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>

         2.2 随意代码演示(不推荐)

        我在工具类中加入了main()和test()方法,用来测试getToken()方法,均可实现,但实际中不这么写,看自己随意。

public class JwtUtils {public static String SECRET= "1c2h3e4n5w6e7i8x9i0n";public static String getToken(Map<String, String> map){JWTCreator.Builder builder= JWT.create();map.forEach((k,v)->{builder.withClaim(k,v);});Calendar instance= Calendar.getInstance();instance.add(Calendar.HOUR, 2);  //默认2小时过期builder.withExpiresAt(instance.getTime());String token= builder.sign(Algorithm.HMAC256(SECRET));return token;}public static DecodedJWT verfy(String token){DecodedJWT decodedJWT= JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);return decodedJWT;}@Testpublic void test() {Map<String,String> map=new HashMap<>();map.put("username", "1107230602");map.put("password", "0246813579");String token= JwtUtils.getToken(map);System.out.print(token);}public static void main(String[] args) {Map<String,String> map=new HashMap<>();map.put("username", "1107230602");map.put("password", "0246813579");String token= JwtUtils.getToken(map);System.out.print(token);}
}

        2.3 规范代码演示(推荐)

在工程test目录下,如下路径,并创建测试类,一般以被测试目标类名+Test:

         此处注意,在类名那里,也有一个绿色图标,运行这个图标,则是把整个测试类的所有@Test方法都执行,只有点击方法那里的绿色图标,才是执行指定方法。

3. Junit相关其他注解

        以下代码源自: "https://www.cnblogs.com/ysocean/p/6889906.html" :

        通过以下代码,可以理清Junit相关注解的搭配使用.

public class JunitTest {public JunitTest() {System.out.println("构造函数");}@BeforeClasspublic static void beforeClass(){System.out.println("@BeforeClass");}@Beforepublic void befor(){System.out.println("@Before");}@Testpublic void test(){System.out.println("@Test");}@Ignorepublic void ignore(){System.out.println("@Ignore");}@Afterpublic void after(){System.out.println("@After");}@AfterClasspublic static void afterClass(){System.out.println("@AfterClass");}
}
执行效果:
@BeforeClass
构造函数
@Before
@Test
@After
@AfterClass

4. 注意事项

        注意:编写测试类的原则: 

   ①测试方法上必须使用@Test进行修饰

        ②测试方法必须使用public void 进行修饰,不能带任何的参数

        ③新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开

        ④测试类所在的包名应该和被测试类所在的包名保持一致

        ⑤测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

        ⑥测试类使用Test作为类名的后缀(不是必须)

        ⑦测试方法使用test作为方法名的前缀(不是必须)

5. 结语

        Junit 单元测试框架

        仅供参考.

http://www.lryc.cn/news/27217.html

相关文章:

  • Android开发之简单控件
  • 树状数组讲解
  • 每个Android开发都应需知的性能指标~
  • MSYS2安装
  • 3/3考试总结
  • Spark Streaming DStream转换
  • 水果商城,可运行
  • LiveGBS国标GB/T28181国标视频流媒体平台-功能报警订阅配置报警预案告警截图及录像
  • 软件测试---测试分类
  • 剑指 Offer II 015. 字符串中的所有变位词
  • 【SpringCloud】SpringCloud详细教程之微服务比较
  • 二.项目使用vue-router,引入ant-design-vue的UI框架,引入less
  • 网络安全怎么学?20年白帽子老江湖告诉你
  • 药房管理系统;药库管理系统
  • 深眸科技|机器视觉提升制造性能,焕发传统企业智造新活力!
  • ubuntu安装SSH的方法
  • 哪种蓝牙耳机通话效果好?通话清晰的蓝牙耳机推荐
  • IT运维如何完成一场高质量复盘
  • JVM调优面试题——基础知识
  • 三、mongdb 查询
  • python的 ping 网络状态监测方法(含多IP)
  • 【独家】华为OD机试提供C语言题解 - 单词反转
  • Linux docker环境安装,docker-compose安装,jdk17安装
  • 界面开发(3)--- PyQt5用户登录界面连接数据库
  • 以下真的没有任何要写的了,我需要凑字数,请大家原谅
  • 2023年 Java 发展趋势
  • Lsof命令介绍
  • LeetCode题目笔记——1487. 保证文件名唯一
  • 【概念辨析】结构体内存对齐
  • pg mysql oracle 中的schema