千家信息网

SpringBoot高版本修改为低版本时测试类报错的解决方案是怎样的

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这期内容当中小编将会给大家带来有关SpringBoot高版本修改为低版本时测试类报错的解决方案是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。高版本改低版本时
千家信息网最后更新 2025年01月24日SpringBoot高版本修改为低版本时测试类报错的解决方案是怎样的

这期内容当中小编将会给大家带来有关SpringBoot高版本修改为低版本时测试类报错的解决方案是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

高版本改低版本时测试类报错

有时在使用idea通过Spring Initailizr创建项目时,默认只能创建最近的版本的SpringBoot项目。

这是如果想要换成版本,就可以在项目创建好了之后,在pom文件中直接将版本修改过来。

如下所示

比如在创建项目时默认的版本为2.2.2版本

        org.springframework.boot        spring-boot-starter-parent        2.2.2.RELEASE             

然后我们修改为1.5.10的低版本

        org.springframework.boot        spring-boot-starter-parent        1.5.10.RELEASE             

这时可能会遇到一个问题,那就是--在高版本时,默认的测试类是没问题可以使用的

import org.junit.jupiter.api.Test;import org.springframework.boot.test.context.SpringBootTest;@SpringBootTestclass SpringBootTestWebApplicationTests {    @Test    void contextLoads() {        System.out.println("hello world");    }}

但是在更换成低版本之后,测试类将会报错,如下所示,无法导入在2.2.2高版本中使用的org.junit.jupiter.api.Test类

此时可以做如下修改

1、删除高版本默认导入的org.junit.jupiter.api.Test类

重新导入org.junit.Test类

2、在类上添加注释@RunWith(SpringRunner.class)

如下图:

注:

  • 通过@RunWith注解,更改测试运行器,更改使用的测试类为SpringRunner.class,使之适应spring。

  • @RunWith(SpringRunner.class)使用了Spring的SpringRunner,以便在测试开始的时候自动创建Spring的应用上下文。其他的想创建spring容器的话,就得子啊web.xml配置classloder。 注解了@RunWith就可以直接使用spring容器,直接使用@Test注解,不用启动spring容器

  • SpringRunner 继承了SpringJUnit4ClassRunner,没有扩展任何功能(查看源码可以看到public final class SpringRunner extends SpringJUnit4ClassRunner);使用前者,名字简短而已

3、将测试类和测试方法都修改为public

4、最后修改的测试类如下所示

package com.susu.springboot;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringBootTestApplicationTests {    @Test    public void contextLoads() {        System.out.println("hello world");    }}

运行结果:

上述就是小编为大家分享的SpringBoot高版本修改为低版本时测试类报错的解决方案是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

0