• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

SpringBoot 集成Junit单元测试

武飞扬头像
ceaningking
帮助5

学习文章: 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导入依赖

  1.  
    <!-- 单元测试 -->
  2.  
    <dependency>
  3.  
    <groupId>junit</groupId>
  4.  
    <artifactId>junit</artifactId>
  5.  
    <version>4.12</version>
  6.  
    </dependency>

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

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

  1.  
    public class JwtUtils {
  2.  
     
  3.  
    public static String SECRET= "1c2h3e4n5w6e7i8x9i0n";
  4.  
     
  5.  
    public static String getToken(Map<String, String> map){
  6.  
    JWTCreator.Builder builder= JWT.create();
  7.  
    map.forEach((k,v)->{
  8.  
    builder.withClaim(k,v);
  9.  
    });
  10.  
    Calendar instance= Calendar.getInstance();
  11.  
    instance.add(Calendar.HOUR, 2); //默认2小时过期
  12.  
     
  13.  
    builder.withExpiresAt(instance.getTime());
  14.  
    String token= builder.sign(Algorithm.HMAC256(SECRET));
  15.  
    return token;
  16.  
    }
  17.  
     
  18.  
    public static DecodedJWT verfy(String token){
  19.  
    DecodedJWT decodedJWT= JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);
  20.  
    return decodedJWT;
  21.  
    }
  22.  
     
  23.  
    @Test
  24.  
    public void test() {
  25.  
    Map<String,String> map=new HashMap<>();
  26.  
    map.put("username", "1107230602");
  27.  
    map.put("password", "0246813579");
  28.  
    String token= JwtUtils.getToken(map);
  29.  
    System.out.print(token);
  30.  
    }
  31.  
     
  32.  
    public static void main(String[] args) {
  33.  
    Map<String,String> map=new HashMap<>();
  34.  
    map.put("username", "1107230602");
  35.  
    map.put("password", "0246813579");
  36.  
    String token= JwtUtils.getToken(map);
  37.  
    System.out.print(token);
  38.  
    }
  39.  
    }
学新通

        2.3 规范代码演示(推荐)

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

学新通学新通

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

3. Junit相关其他注解

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

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

  1.  
    public class JunitTest {
  2.  
    public JunitTest() {
  3.  
    System.out.println("构造函数");
  4.  
    }
  5.  
     
  6.  
    @BeforeClass
  7.  
    public static void beforeClass(){
  8.  
    System.out.println("@BeforeClass");
  9.  
    }
  10.  
     
  11.  
    @Before
  12.  
    public void befor(){
  13.  
    System.out.println("@Before");
  14.  
    }
  15.  
     
  16.  
    @Test
  17.  
    public void test(){
  18.  
    System.out.println("@Test");
  19.  
    }
  20.  
     
  21.  
    @Ignore
  22.  
    public void ignore(){
  23.  
    System.out.println("@Ignore");
  24.  
    }
  25.  
     
  26.  
    @After
  27.  
    public void after(){
  28.  
    System.out.println("@After");
  29.  
    }
  30.  
     
  31.  
    @AfterClass
  32.  
    public static void afterClass(){
  33.  
    System.out.println("@AfterClass");
  34.  
    }
  35.  
    }
学新通
  1.  
    执行效果:
  2.  
    @BeforeClass
  3.  
    构造函数
  4.  
    @Before
  5.  
    @Test
  6.  
    @After
  7.  
    @AfterClass

4. 注意事项

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

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

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

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

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

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

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

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

5. 结语

        Junit 单元测试框架

        仅供参考.

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhbgif
系列文章
更多 icon
同类精品
更多 icon
继续加载