Spring Test 整合 JUnit 4 使用總結

1. 加入依賴包

  使用Spring的測試框架須要加入如下依賴包java

2. 建立測試源目錄和包

  在此,推薦建立一個和src平級的源文件目錄,由於src內的類都是爲往後產品準備的,而此處的類僅僅用於測試。而包的名稱能夠和src中的目錄同名,這樣因爲在test源目錄中,因此不會有衝突,並且名稱又如出一轍,更方便檢索。 git

3. 建立測試類

  建立一個測試用的類,推薦名稱爲 「被測試類名稱 + Test」。 github

  測試類應該繼承與 AbstractJUnit4SpringContextTests 或 AbstractTransactionalJUnit4SpringContextTests spring

  對於 AbstractJUnit4springcontextTests 和 AbstractTransactionalJUnit4SpringContextTests 類的選擇: app

  若是再你的測試類中,須要用到事務管理(好比要在測試結果出來以後回滾測試內容),就能夠使用AbstractTransactionalJUnit4SpringTests類。事務管理的使用方法和正常使用Spring事務管理是同樣的。再此須要注意的是,若是想要使用聲明式事務管理,即便用AbstractTransactionalJUnitSpringContextTests類,請在applicationContext.xml文件中加入transactionManager bean: 框架

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>

若是沒有添加上述bean,將會拋出NoSuchBeanDefinitionException,指明 No bean named 'transactionManager' is definded.
測試

4. 配置測試類

  添加以下內容在class前,用於配置applicationContext.xml文件的位置。 spa

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")

5. 建立測試方法

  建立測試用方法,推薦名稱爲 「被測方法名稱+ Test」。 .net

  測試方法上方加入 @Test code

6. 經過JUnit 4 執行

  右鍵方法名,選擇則「Run As」→「JUnit Test」便可

 

附錄1:總體測試類文件

/* @(#) UserDaoTest.java * * Date: 2012-1-16 * * Author: Rainisic */ package com.mb.dao; import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.mb.entity.User; /** * @author Rainisic * */ @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml") public class UserDaoTest extends AbstractJUnit4SpringContextTests {
    
    @Resource private UserDaoInterface userDao;
    
    @Test public void saveTest() {
        
        User user1 = new User();
        user1.setUsername("rainisic");
        user1.setPassword("123456");
        user1.setNickName("rainisic");
        user1.setEmail("rainisic@gmail.com");
        
        User user2 = new User();
        user2.setUsername("admin");
        user2.setPassword("123456");
        user2.setNickName("admin");
        user2.setEmail("admin@admin.com");
        
        User user3 = new User();
        user3.setUsername("test");
        user3.setPassword("123456");
        user3.setNickName("test");
        user3.setEmail("test@gmail.com");
        
        userDao.save(user1);
        userDao.save(user2);
        userDao.save(user3);
    }
}

  OK,到此爲止就能夠使用Spring的測試框架了。

相關文章
相關標籤/搜索