【Tokio】非同步休眠任務
阿新 • • 發佈:2022-03-30
引言
我們雖然可以通過以下方法解決Junit的整合,但那是因為我們作為開發工程師,懂得如何使用Spring。測試工程師並不一定懂得Spring的使用。
分析
一、應用程式的入口:main方法
二、Junit單元測試中,沒有main方法也能執行
junit集成了一個main方法,該方法就會判斷當前測試類中哪些方法有 @Test 註解,junit就讓有Test註解的方法執行。
三、junit不會管我們是否採用Spring框架
在執行測試方法時,junit根本不知道我們是不是使用了Spring框架,所以也就不會為我們讀取配置檔案/配置類建立Spring核心容器
總結:由以上三點可知,當測試方法執行時,沒有IOC容器,就算寫了AutoWired註解,也無法實現注入
這樣是不行的
Spring整合junit配置
當我們使用spring 5.x版本時,要求junit的jar包必須是4.12及以上
1、匯入Spring整合junit的jar(座標)
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.1.5.RELEASE</version> </dependency>
2、使用junit提供的註解把原有的main方法替換,替換成spring提供的(加在類上)
@RunWith(SpringJUnit4ClassRunner.class)
3、告知spring的執行器,spring和ioc建立時基於xml還是註解的,並且說明位置
@ContextConfiguration
location:指定xml檔案的位置,加上classpath關鍵字,表示在類路徑下
@ContextConfiguration(locations = "classpath:bean.xml")
classes:指定註解類所在的位置
@ContextConfiguration(classes = SpringConfiguration.class)