SpringBoot測試類注入Bean失敗的原因及分析
更新時間:2024年09月22日 10:04:56 作者:蒼煜
SpringBoot 2.2版本前后測試類有所變化,2.2版本之后使用JUnit 5,導入注解@SpringBootTest和@Test來自junit.jupiter.api包;而2.2版本之前使用JUnit 4,需要額外導入@RunWith注解來自junit.runner包,無論哪個版本,都需確保測試類和啟動類的包名一致
針對SpringBoot的測試類,2.2版本之前和之后是不一樣的。
2.2版本之后
導包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版本之前
導包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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
mybatis Example的Criteria用法:or與isNull詳解
這篇文章主要介紹了mybatis Example的Criteria用法:or與isNull詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring如何配置文件動態(tài)讀取pom.xml中的屬性
在項目開發(fā)中,經(jīng)常需要將pom.xml中的屬性動態(tài)傳遞給Spring配置文件,實現(xiàn)這一需求,可通過Maven的資源過濾功能,配置占位符替換,具體方法包括:在pom.xml中啟用filtering,然后在Spring配置文件中通過${property}方式引用屬性2024-10-10
Java 配置log4j日志文件路徑 (附-獲取當前類路徑的多種操作)
這篇文章主要介紹了Java 配置log4j日志文件路徑 (附-獲取當前類路徑的多種操作),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
SpringBoot?配置多個JdbcTemplate的實現(xiàn)步驟
本文介紹了在SpringBoot中配置多個JdbcTemplate的方法,包括創(chuàng)建項目、添加依賴、配置數(shù)據(jù)源和多個JdbcTemplate的使用,感興趣的可以了解一下2024-11-11
JDK安裝與配置超級詳細教程(包含二個或多個JDK的同時安裝)
這篇文章主要給大家介紹了關于JDK安裝與配置(包含二個或多個JDK的同時安裝)的相關資料,對于Java學習者來說,一臺電腦拿到手肯定要配置JDK,但是對于新手來說還是容易出錯,需要的朋友可以參考下2023-10-10

