淺談spring-boot的單元測(cè)試中,@Before不被執(zhí)行的原因
我們先來(lái)看下筆者的單元測(cè)試的依賴版本:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
我用的是2.x的spring-boot,查閱的網(wǎng)上的資料,發(fā)現(xiàn)在新版本中,spring-boot用的是junit 5.x,這就發(fā)現(xiàn)問題了,在junit4.x版本之前,生效的是@Before主鍵,這沒錯(cuò)。
然而在junit 5.x中,@Before主鍵被@BeforeEach所替代,因此就不生效了。
補(bǔ)充知識(shí):springboot 2.0 單元測(cè)試配置踩的坑
1,錯(cuò)誤配置1
會(huì)拋出
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testSms], {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(JUnit4TestLoader.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.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192
正確配置:
錯(cuò)誤配置二
springboot 2.0版本只配置了 這個(gè)jar
會(huì)拋出 如下異常
正確配置
junit對(duì)springboot的版本有很強(qiáng)的依賴關(guān)系 ,別搞錯(cuò)了 ,2.0的請(qǐng)用 4.12 切記,踩過(guò)的坑?。。?!
springboot 2.0后的版本,請(qǐng)?zhí)砑?net.minidev.asm 的jar包
以上這篇淺談spring-boot的單元測(cè)試中,@Before不被執(zhí)行的原因就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springMVC實(shí)現(xiàn)圖形驗(yàn)證碼(kaptcha)代碼實(shí)例
這篇文章主要介紹了springMVC實(shí)現(xiàn)圖形驗(yàn)證碼(kaptcha)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2019-09-09spring?cache注解@Cacheable緩存穿透詳解
這篇文章主要介紹了spring?cache注解@Cacheable緩存穿透詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12SpringCloud超詳細(xì)講解微服務(wù)網(wǎng)關(guān)Gateway
這篇文章主要介紹了SpringCloud Gateway微服務(wù)網(wǎng)關(guān),負(fù)載均衡,熔斷和限流,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Java編程學(xué)習(xí)的幾個(gè)典型實(shí)例詳解
這篇文章主要給大家介紹了Java編程學(xué)習(xí)的幾個(gè)典型實(shí)例,其中包括模擬酒店房間管理系統(tǒng)、螺旋矩陣 例或者百雞問題的變形等經(jīng)典實(shí)例,具體來(lái)一起看詳細(xì)內(nèi)容吧,需要的朋友可以參考學(xué)習(xí)。2017-02-02java解析xml匯總_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了java解析xml匯總_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理的相關(guān)資料,需要的朋友可以參考下2017-07-07Java實(shí)現(xiàn)對(duì)兩個(gè)List快速去重并排序操作示例
這篇文章主要介紹了Java實(shí)現(xiàn)對(duì)兩個(gè)List快速去重并排序操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java針對(duì)list的遍歷、去重、排序相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07