浅谈spring

网友投稿 291 2023-06-09

浅谈spring

我们先来看下笔者的单元测试的依赖版本

org.springframework.boot

spring-boot-starter-parent

2.2.6.RELEASE

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

我用的是2.x的spring-boot,查阅的网上的资料,发现在新版本中,spring-boot用的是junit 5.x,这就发现问题了,在junit4.x版本之前,生效的是@Before主键,这没错。

然而在junit 5.x中,@Before主键被@BeforeEach所替代,因此就不生效了。

补充知识:springboot 2.0 单元测试配置踩的坑

1,错误配置1

会抛出

java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testSmOWsJrZBhms], {ExactMatcher:fDisplayName=testSms(com.hm.system.manager.service.TestService)], {LeadingIdentifierMatcher:fClassName=com.hm.system.manager.service.TestService,fLeadingIdentifier=testSms]] from org.junit.internal.requests.ClassRequest@7ac7a4e4

at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:37)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoaderhttp://.java:77)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)

at org.eclihttp://pse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192

正确配置:

错误配置二

springboot 2.0版本只配置了 这个jar

会抛出 如下异常

正确配置

junit对springboot的版本有很强的依赖关系 ,别搞错了 ,2.0的请用 4.12 切记,踩过的坑!!!!

springboot 2.0后的版本,请添加 net.minidev.asm 的jar包

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot使用Junit测试没有插入数据的原因
下一篇:单机redis分布式锁实现原理解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~