SpringBoot測試類注入Bean失敗的原因及分析
更新時間:2024年09月22日 10:04:56 作者:蒼煜
SpringBoot 2.2版本前后測試類有所變化,2.2版本之后使用JUnit 5,導(dǎo)入注解@SpringBootTest和@Test來自junit.jupiter.api包;而2.2版本之前使用JUnit 4,需要額外導(dǎo)入@RunWith注解來自junit.runner包,無論哪個版本,都需確保測試類和啟動類的包名一致
針對SpringBoot的測試類,2.2版本之前和之后是不一樣的。
2.2版本之后
導(dǎo)包pom.xml
添加test依賴
<!-- starter-test:junit + spring-test + mockito --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
注解
- @SpringBootTest—import org.springframework.boot.test.context.SpringBootTest;
- @Test—import org.junit.jupiter.api.Test;
測試
import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; /** * @author wangkanglu * @version 1.0 * @description * @date 2024-07-07 11:32 */ @SpringBootTest public class TestMain { @Test public void test1(){ System.out.println("-----"); } }
2.2版本之前
導(dǎo)包pom.xml
添加test依賴
<!-- starter-test:junit + spring-test + mockito --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
注解
- @SpringBootTest—import org.springframework.boot.test.context.SpringBootTest;
- @RunWith(SpringRunner.class)—import org.junit.runner.RunWith;
- @Test—import org.junit.Test;
測試
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; /** * @author wangkanglu * @version 1.0 * @description * @date 2024-07-07 11:32 */ @SpringBootTest @RunWith(SpringRunner.class) public class TestMain { @Test public void test1(){ System.out.println("-----"); } }
注意包路徑需要一致
注意測試類的包名和啟動類的包名一定要一致,否則掃描不到bean對象會報空異常,如下圖:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java使用泛型實現(xiàn)棧結(jié)構(gòu)的示例代碼
泛型是JAVA重要的特性,使用泛型編程,可以使代碼復(fù)用率提高。本文將利用泛型實現(xiàn)簡單的棧結(jié)構(gòu),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-08-08Java連接MySQL8.0 JDBC的詳細步驟(IDEA版本)
這篇文章主要介紹了Java連接MySQL8.0 JDBC的詳細步驟(IDEA版本),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04idea指定maven的settings文件不生效的問題解決
本文主要介紹了idea指定maven的settings文件不生效的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06解讀CommandLineRunner和@PostConstruct區(qū)別與應(yīng)用場景
這篇文章主要介紹了解讀CommandLineRunner和@PostConstruct區(qū)別與應(yīng)用場景,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12