您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關SpringBoot高版本修改為低版本時測試類報錯的解決方案是怎樣的,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
有時在使用idea通過Spring Initailizr創建項目時,默認只能創建最近的版本的SpringBoot項目。
這是如果想要換成版本,就可以在項目創建好了之后,在pom文件中直接將版本修改過來。
如下所示
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
這時可能會遇到一個問題,那就是——在高版本時,默認的測試類是沒問題可以使用的
import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class SpringBootTestWebApplicationTests { @Test void contextLoads() { System.out.println("hello world"); } }
但是在更換成低版本之后,測試類將會報錯,如下所示,無法導入在2.2.2高版本中使用的org.junit.jupiter.api.Test類
重新導入org.junit.Test類
如下圖:
注:
通過@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);使用前者,名字簡短而已
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) @SpringBootTest public class SpringBootTestApplicationTests { @Test public void contextLoads() { System.out.println("hello world"); } }
運行結果:
上述就是小編為大家分享的SpringBoot高版本修改為低版本時測試類報錯的解決方案是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。