您好,登錄后才能下訂單哦!
這篇“Java之Spring整合Junit的方法是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java之Spring整合Junit的方法是什么”文章吧。
在測試類中,每個測試方法都有以下兩行代碼:
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
IAccountService as = ac.getBean("accountService",IAccountService.class);
這兩行代碼的作用是獲取容器,如果不寫的話,直接會提示空指針異常。所以又不能輕易刪掉。
針對上述問題,需要的是程序能自動創建容器。
junit無法知曉是否使用了 spring 框架,無法創建 spring 容器了,但junit 暴露了一個注解,可以替換掉它的運行器。
需要依靠 spring 框架提供的運行器,可以讀取配置文件(或注解)來創建容器,只需要告訴它配置文件在哪就行了。
此處需要注意的是,導入 jar 包時,需要導入一個 spring 中 aop 的 jar 包。
@RunWith(SpringJUnit4ClassRunner.class) public class AccountServiceTest { }
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations= {"classpath:bean.xml"}) public class AccountServiceTest { }
@ContextConfiguration 注解:
locations 屬性:用于指定配置文件的位置。如果是類路徑下,需要用 classpath:表明
classes 屬性:用于指定注解的類。當不使用 xml 配置時,需要用此屬性指定注解類的位置。
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations= {"classpath:bean.xml"}) public class AccountServiceTest { @Autowired private IAccountService as ; }
第一:當在 xml 中配置了一個 bean,spring 加載配置文件創建容器時,就會創建對象。
第二:測試類只是在測試功能時使用,而在項目中它并不參與程序邏輯,也不會解決需求上的問題,所以創建完了,并沒有使用。那么存在容器中就會造成資源的浪費。
以上就是關于“Java之Spring整合Junit的方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。