Spring和JUnit的整合
相信Kent Beck測試驅動開發理念以為越來越多的人接受,最近在做struts+hibernate+spring的開發中有點心得,和大家一同分享。下面是以一個web專案為討論的,測試主要設計到spring的實現類和strust的Action類的測試,其中主要問題就是要提供一個ApplicationContext為TestCase呼叫,這樣我們引用了一個JUnitHelper工具類進行相關Spring的操作,如提供ApplicationContext環境,下面我們就實現類測試和Action類測試進行一下講解,其中資料庫連線由spring控制。
實現類測試比較簡單,我們主要是測試介面的功能實現,如我們有一介面為PersonDao,實現類為PersonDaoImpl,在JUnitHelper中我們建立一方法getApplicationContext來提供ApplicationContext環境,在getApplicationContext程式碼中我們返回一個FileSystemXmlApplicationContext物件。介面PersonDao的物件實現可從ApplicationContext直接獲取。 PersonDao person= (PersonDao) JUnitHelper.getApplicationContext().getBean("PersonDao") ; 然後測試PersonDao介面的方法介面。
strusts的Action(Action例項繼承了spring的ActionSupport)測試需要用到strutstestcase,可以從sourceforge上下載,測試action的關鍵點是將WebApplicationContext和ServletContext進行關聯,首先我們要獲取WebApplicationContext,這裡我們使用XmlWebApplicationContext進行例項化,然後將WebApplicationContext和ServletContext的屬性值進行繫結即可。JUnitHelper有一個方法setWebApplicationContext就是進行繫結操作的。在MockStrutsTestCase的setup方法中,我們進行繫結操作: JUnitHelper.setWebApplicationContext(getActionServlet().getServletContext()) ; 餘下的測試就是標準的strutstestcase的測試方法。[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/219138/viewspace-915006/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring的Junit整合Spring
- Spring整合JUnitSpring
- Spring整合JUnit,MybatisSpringMyBatis
- 【學習筆記】Spring與Junit的整合筆記Spring
- Spring是如何整合JUnit的?JUnit原始碼關聯延伸閱讀Spring原始碼
- Spring系列之新註解配置+Spring整合junit+註解注入Spring
- Spring 對 Junit4,Junit5 的支援上的運用Spring
- Quartz - Spring和Quartz的整合quartzSpring
- MyBatis和Spring整合的奧祕MyBatisSpring
- spring:spring與mybatis的整合SpringMyBatis
- Shiro和Spring MVC、Mybatis整合教程SpringMVCMyBatis
- Mybatisi和Spring整合原始碼分析MyBatisSpring原始碼
- Spring MVC學習筆記和SSH的整合SpringMVC筆記
- Spring Boot + Junit 5 + Testcontainers原始碼專案Spring BootAI原始碼
- Spring 4.2.2以上版本和swagger整合方案和踩過的坑SpringSwagger
- spring+redis的整合,使用spring-data-redis來整合SpringRedis
- 手寫一個Redis和Spring整合的外掛RedisSpring
- 使用Junit 5時,如何同時使用 junit4和 PowerMockMock
- Spring 對Mabatis的整合SpringBAT
- Dozer的使用: 整合SpringSpring
- Spring單元測試教程(JUnit5+Mockito)SpringMockito
- Spring Boot 整合 MyBatis和 SQL Server實踐Spring BootMyBatisSQLServer
- Spring Boot整合Spring SecuritySpring Boot
- Spring Boot整合Spring BatchSpring BootBAT
- Spring Boot整合Spring AopSpring Boot
- MyBatis(九) 整合Spring、整合SpringMVCMyBatisSpringMVC
- springboot junit Unit-Testing(via spring-boot-starter-test)Spring Boot
- Spring MVC整合redis的配置SpringMVCRedis
- Mybatis 的使用(整合Spring、SpringBoot)MyBatisSpring Boot
- Spring+SpringMVC+MyBatis的整合SpringMVCMyBatis
- mybatis整合springMyBatisSpring
- Spring 整合 HibernateSpring
- ActiveMq整合SpringMQSpring
- Spring Cloud 整合SpringCloud
- Spring 整合 MyBatisSpringMyBatis
- Spring整合WebSocketSpringWeb
- Spring整合MyBatisSpringMyBatis
- Apache Camel與Spring-boot和Kafka的整合開源案例ApacheSpringbootKafka
- Spring boot入門(二):Spring boot整合MySql,Mybatis和PageHelper外掛Spring BootMySqlMyBatis