SpringBoot 集成Junit单元测试
学习文章: https://www.cnblogs.com/ysocean/p/6889906.html
开发工具: IDEA 2022.1.4
目录
目录
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;
-
}
-
-
-
public 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("构造函数");
-
}
-
-
-
public static void beforeClass(){
-
System.out.println("@BeforeClass");
-
}
-
-
-
public void befor(){
-
System.out.println("@Before");
-
}
-
-
-
public void test(){
-
System.out.println("@Test");
-
}
-
-
-
public void ignore(){
-
System.out.println("@Ignore");
-
}
-
-
-
public void after(){
-
System.out.println("@After");
-
}
-
-
-
public static void afterClass(){
-
System.out.println("@AfterClass");
-
}
-
}
-
执行效果:
-
-
构造函数
-
-
-
-
4. 注意事项
注意:编写测试类的原则:
①测试方法上必须使用@Test进行修饰
②测试方法必须使用public void 进行修饰,不能带任何的参数
③新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开
④测试类所在的包名应该和被测试类所在的包名保持一致
⑤测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
⑥测试类使用Test作为类名的后缀(不是必须)
⑦测试方法使用test作为方法名的前缀(不是必须)
5. 结语
Junit 单元测试框架
仅供参考.
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfhbgif
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13