springboottest版本号_SpringBoot高版本修改为低版本时测试类报错解决

当SpringBoot项目从高版本降级到低版本,如从2.2.2到1.5.10时,测试类可能出现错误。原本使用的`org.junit.jupiter.api.Test`不再适用,需改为`org.junit.Test`。同时,需要添加`@RunWith(SpringRunner.class)`注解,以确保测试用例能正确运行。此外,测试类和测试方法需设置为public。这样修改后,测试类就能在低版本SpringBoot中正常运行。
摘要由CSDN通过智能技术生成

有时在使用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

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

importorg.junit.jupiter.api.Test;importorg.springframework.boot.test.context.SpringBootTest;

@SpringBootTestclassSpringBootTestWebApplicationTests {

@TestvoidcontextLoads() {

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、最后修改的测试类如下所示:

packagecom.susu.springboot;importorg.junit.Test;importorg.junit.runner.RunWith;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)

@SpringBootTestpublic classSpringBootTestApplicationTests {

@Testpublic voidcontextLoads() {

System.out.println("hello world");

}

}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值