Spring整合junit


拋出問題

1、應用程序的入口
main方法
2、junit單元測試中,沒有main方法也能執行
junit集成了一個main方法
該方法就會判斷當前測試類中有哪些@Test注解
junit就讓有Test注解的方法執行
3、junit不會管我們是否采用spring框架
在執行測試方法時,junit根本不知道我們是不是使用了spring框架
所以也就不會為我們讀取配置文件/配置類創建spring核心容器
4、由以上三點可知
當測試方法執行時,沒有Ioc容器,就算寫了Autowired注解,也無法實現注入

解決——Spring整合junit

1.導入spring整合junit的jar(坐標)
2.使用Junit提供的一個注解把原有的main方法替換了,替換成spring提供的@RunWith注解
3.告知spring的運行器,spring和ioc創建時基於xml還是注解的,並且說明位置
@ContextConfiguration
locations:指定xml文件的位置,加上classpath關鍵字,表示在類路徑下
classes:指定注解類所在地位置

細節:當我們使用spring5.x版本時,要求junit的jar必須是4.12及以上
@RunWith(SpringJunit4ClassRunner.class)
@ContextConfiguration([location=……][classes=……])
public class Aclass{
      @Autowired
      private IAclass as=null;
     
      @Test
      public void test1(){
      方法體
      }
     
      @Test
      public void test2(){
      方法體
      }
      ……
      ……
     
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM