ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spring boot单元测试之十六:junit5:用@Timeout注解判断测试运行是否超时(spring boot 2.4.4)

2021-04-09 14:02:30  阅读:275  来源: 互联网

标签:__ spring boot 测试运行 ret Timeout synchSayHello ___ com


一,演示项目相关信息

1,项目地址:

https://github.com/liuhongdi/timeouttest

2,功能:用@Timeout注解判断测试运行是否超时

3,项目结构:如图:

 

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

 

二,java代码说明

1,service/HelloService.java

@Service
public class HelloService {

   //同步方法
    public String synchSayHello() {
        try {
            Thread.sleep(3000);
            return "this is sync";
        } catch (InterruptedException e) {
            e.printStackTrace();
            return "error";
        }
    }
}

2,service/HelloServiceTest.java

@SpringBootTest
class HelloServiceTest {

    @Autowired
    private HelloService helloService;

    @Test
    @Timeout(value = 3500, unit = TimeUnit.MILLISECONDS)
    @DisplayName("测试3.5秒,不会超时")
    void synchSayHello() {
       String ret =  helloService.synchSayHello();
       System.out.println(ret);
        assertThat(ret, equalTo("this is sync"));
    }

    @Test
    @Timeout(2)
    @DisplayName("测试2秒,会超时")
    void synchSayHelloFail() {
        String ret =  helloService.synchSayHello();
        System.out.println(ret);
    }
}

 

三,测试效果

四,查看spring boot的版本:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.4)

 

标签:__,spring,boot,测试运行,ret,Timeout,synchSayHello,___,com
来源: https://www.cnblogs.com/architectforest/p/14636816.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有