Spring Test 整合 JUnit 4 使用總結

479270712 11年前發布 | 24K 次閱讀 測試工具

具體整合如下步驟:

1. 加入依賴包

  使用Spring的測試框架需要加入以下依賴包:

· JUnit 4 (官方下載:https://github.com/KentBeck/junit/downloads

· Spring Test Spring框架中的test包)

· Spring 相關其他依賴包(不再贅述了,就是context等包)

2. 創建測試源目錄和包

  在此,推薦創建一個和src平級的源文件目錄,因為src內的類都是為日后產品準備的,而此處的類僅僅用于測試。而包的名稱可以和src中的目錄同名,這樣由于在test源目錄中,所以不會有沖突,而且名稱又一模一樣,更方便檢索。

3. 創建測試類

  創建一個測試用的類,推薦名稱為 被測試類名稱 + Test”

  測試類應該繼承與 AbstractJUnit4SpringContextTests 或 AbstractTransactionalJUnit4SpringContextTests

  對于 AbstractJUnit4springcontextTests 和 AbstractTransactionalJUnit4SpringContextTests 類的選擇:

  如果再你的測試類中,需要用到事務管理(比如要在測試結果出來之后回滾測試內容),就可以使用AbstractTransactionalJUnit4SpringTests類。事務管理的使用方法和正常使用Spring事務管理是一樣的。再此需要注意的是,如果想要使用聲明式事務管理,即使用AbstractTransactionalJUnitSpringContextTests類,請在applicationContext.xml文件中加入transactionManager bean

 <bean id="transactionManager"

<span style="line-height: 1.5; color: rgb(0, 0, 255);">class</span>="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource" />

</bean></pre>/o:p</span>

  如果沒有添加上述bean,將會拋出NoSuchBeanDefinitionException,指明 No bean named 'transactionManager' is definded.

4. 配置測試類

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

@RunWith(SpringJUnit4ClassRunner.<span style="line-height: 1.5; color: rgb(0, 0, 255);">class</span>)

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

復制代碼


5. 創建測試方法

  創建測試用方法,推薦名稱為 被測方法名稱+ Test”

  測試方法上方加入 @Test

6. 通過JUnit 4 執行

  右鍵方法名,選擇則“Run As”→“JUnit Test”即可


附錄1:整體測試類文件

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);
    

    } }</pre>

      OK,到此為止就可以使用Spring的測試框架了。



    </div>

 本文由用戶 479270712 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!