SpringBoot2的JUnit5与指标监控怎么使用

发布时间:2022-03-22 17:36:36 作者:iii
来源:亿速云 阅读:188

这篇文章主要介绍“SpringBoot2的JUnit5与指标监控怎么使用”,在日常操作中,相信很多人在SpringBoot2的JUnit5与指标监控怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot2的JUnit5与指标监控怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1 单元测试JUnit 5

1.1JUnit 5简介以及使用

  JUnit5作为最新版本的JUnit框架与之前版本的Junit框架有很大的不同。JUnit5主要由三个不同子项目的几个不同模块组成:JUnit Platform、JUnit Jupiter、JUnit Vintage。

  在这里我们需要了解的是:SpringBoot 2.4 以上版本移除了默认对JUnit Vintage的依赖。如果需要兼容junit4需要自行引入,不引入的话就不能使用junit4的功能@Test,但是JUnit5也有一个@Test注解能够完成同样的功能

使用: 由上面的JUnit5分析可知:要想使用JUnit5并兼容JUnit以前的版本的话,必须引用以下两个依赖

<!--测试的启动器依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<!--兼容JUnit4版本的单元测试-->
<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

然后使用@SpringBootTest注解标注测试类,使用@Test标注测试方法

1.2 常用的测试注解

  官方文档中已经定义并解释了所有的注解,可以通过这个链接进行查看官方文档的链接地址接下来会选取常用的几个注解进行讲解学习

SpringBoot2的JUnit5与指标监控怎么使用

SpringBoot2的JUnit5与指标监控怎么使用

SpringBoot2的JUnit5与指标监控怎么使用

SpringBoot2的JUnit5与指标监控怎么使用

SpringBoot2的JUnit5与指标监控怎么使用

1.3 断言(assertions)

  断言是测试方法中的核心部分,用来对测试需要满足的条件进行验证。所谓断言就是检查业务逻辑返回的数据是否合理,在所有的测试运行结束以后,会产生一个详细的测试报告。值得注意的是:当出现一个断言失败之后,从那个断言开始后面的所有代码都不会执行 JUnit 5 内置的断言可以分成如下几个类别:

简单断言

SpringBoot2的JUnit5与指标监控怎么使用

以上方法的用法如下(以assertEquals方法为例):

SpringBoot2的JUnit5与指标监控怎么使用

数组断言

SpringBoot2的JUnit5与指标监控怎么使用

组合断言 组合断言需要所有的参数都满足的情况下才会通过,否则会返回出错的断言,可以以用来一个方法进行多个简单断言

SpringBoot2的JUnit5与指标监控怎么使用

异常断言 当结果不抛出定义的异常时断言失败

SpringBoot2的JUnit5与指标监控怎么使用

超时断言 当超出定义的超时时间就会返回断言

SpringBoot2的JUnit5与指标监控怎么使用

快速断言 当符合逻辑的时候就会返回断言

SpringBoot2的JUnit5与指标监控怎么使用

  使用断言的好处就是:可以使用以下图片中的方法将测试类的所有方法跑一遍,如果断言都通过则正常运行。否则就会返回所有的断言失败的信息

SpringBoot2的JUnit5与指标监控怎么使用

1.4 前置条件(assumptions)

  JUnit 5 中的前置条件(又叫假设)类似于断言,不同之处在于不满足的断言会使得测试方法失败,而不满足的前置条件只会使得测试方法的执行终止。前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要。

SpringBoot2的JUnit5与指标监控怎么使用

由上图可知,前置条件与断言最大的区别就是前置条件不满足的情况下,跳过该方法继续执行别的方法,而不满足断言的话后面的代码都将不会执行

1.5 嵌套测试

  嵌套测试即是测试类中还有测试类,在这种情况下,外层的test不能驱动内层的Before(After)All(Each)方法,但是内层的test可以驱动外层的Before(After)All(Each)方法。

1.6 参数化测试

SpringBoot2的JUnit5与指标监控怎么使用

SpringBoot2的JUnit5与指标监控怎么使用

2 指标监控

2.1 使用url实现监控

引用Actuator启动器

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

使用配置文件开启想要的端点

management:
endpoints:
enabled-by-default: false   # 默认开启所有的监控端点,定制化的话就需要关闭
web:
exposure:
include: '*'      # 以web的方式暴露所有的端点
endpoint:
beans:
enabled: true
health:
enabled: true
show-details: always
info:
enabled: true
metrics:
enabled: true

使用url查看监控信息

SpringBoot2的JUnit5与指标监控怎么使用

2.2 可视化的监控平台

使用Spring Initializr快速创建一个SpringBoot项目,项目的pom文件加入服务监控平台的依赖,并在该项目的主程序类上加入@EnableAdminServer注解

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.3.1</version>
</dependency>

为了防止与需要监控的服务产生端口冲突,需要在配置文件中修改监控的端口号

server:
port: 8888

将其他的服务注册进监控

第一步: 被监控的服务中导入依赖

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.3.1</version>
</dependency>

第二步: 被监控的服务中配置文件配置监控项目的url

spring:
boot:
admin:
client:
url: http://localhost:8888
instance:
prefer-ip: true
application:
name: Project-admin_manage

到此,关于“SpringBoot2的JUnit5与指标监控怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. mongodb监控指标
  2. TOMCAT监控指标

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot junit

上一篇:SQLServer RANK()排名函数如何使用

下一篇:Flutter的SingleChildScrollView怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》