SpringBoot Junit4和Junit5注解遇到的问题及其解决,@RunWith,@SpringBootTest

1.问题描述

在使用SpringBoot2来进行单元测试时,发现不需要加@runWith注解,其次当测试类路径与boot启动类不是相同包或其子包时,必须指定启动类的 .class。

2.问题解决

1----:
      首先针对这个问题,我们所使用的是springboot 2、值得注意的是这个版本对于junit做了较大的改动,移除了对junit3和4的支持,使用jupiter测试引擎替换了原来的junit4作为核心模块提供测试服务,这也是为什么昨天测试中最开始自动引入的是org.junit.jupiter的原因。


 2----:
      添加依赖spring_boot_starter_test后,可以在内部看到自带了jupiter测试核心模块,这是pom里最开始没有看到老版本junit4依赖的原因。

 

 

3----:
       junit4,也就是老版本在使用测试时,就需要像昨天后边一段一样,手动添加依赖支持,不过使用junit4需要使用@springbootTest和@runWith注解,其中runWith指向使用spring的测试模块。
       junit5(jupiter测试引擎)不再支持junit4(vintage测试引擎),在使用时自然不再需要spring来提供了,即不需要再使用@runWith注解。

4----:
         最后一个小问题就是,@springbootTest属性的问题。分两种情况:
        1)测试类所在目录跟boot启动类目录相同或者是子目录的情况下,在测试时可以自动找到启动类。即注解中不需要指定启动类的字节码。
       2)不是相同目录或者子目录时,就需要指定启动类的字节码了.,@springbootTest(clases=✘✘✘.class)

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值