springboot单元测试

  1. 一直对springboot测试迷迷糊糊的,又搜索了一通资料总结一下
    要引入两个依赖包
1
2
3
4
5
6
7
8
9
10
11
12
    这个包在创建springboot项目时一般自动引入了
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
  1. 另外注意测试类包创建路径要与实际类的路径相同,在实际类里右键goto->test 自动生成即可

如图所示:

3.

image-20221118152957307

最终编写结果如图所示:

image-20221118152558452

遇到的错误:

spring boot 运行测试类时:Error creating bean with name ‘serverEndpointExporter’ 问题 错误

前期测试类是好使的,突然就不好使了,开始找问题,最近我只是引入了webscoket,使用注解

1
@ServerEndpoint

img

就是这个注解惹得祸,

两种解决方式:

第一种:将@RunWith(SpringRunner.class) 去掉即可,但是这种方式会有局限,比如下方你要@Authwired一个类的时候会报错

img

第二种方式:

在SpringBootTest后加上

1
(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 即可

原因:websocket是需要依赖tomcat等容器的启动。所以在测试过程中我们要真正的启动一个tomcat作为容器。

img


springboot单元测试
https://lililib.github.io/springBoot测试/
作者
煨酒小童
发布于
2022年11月18日
许可协议