小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Spring Test 整合 JUnit 4 使用總結(jié)

 windli筆記 2012-10-14
這兩天做Web開發(fā),發(fā)現(xiàn)通過Spring進(jìn)行對象管理之后,做測試變得復(fù)雜了。因?yàn)樗械腂ean都需要在 applicationContext.xml中加載好,之后再通過@Resource去取得。如果每次都要整個(gè)業(yè)務(wù)流做的差不多了再去測試,這樣效率很 低,也很麻煩。如果單獨(dú)去寫一個(gè)測試用類,這樣太繁瑣了。于是想起Spring有一個(gè)測試框架,能夠整合JUnit進(jìn)行測試,于是便拿出來試試~

  廢話不多說,教程直接開始。

1. 加入依賴包

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

2. 創(chuàng)建測試源目錄和包

  在此,推薦創(chuàng)建一個(gè)和src平級的源文件目錄,因?yàn)閟rc內(nèi)的類都是為日后產(chǎn)品準(zhǔn)備的,而此處的類僅僅用于測試。而包的名稱可以和src中的目錄同名,這樣由于在test源目錄中,所以不會有沖突,而且名稱又一模一樣,更方便檢索。

3. 創(chuàng)建測試類

  創(chuàng)建一個(gè)測試用的類,推薦名稱為 “被測試類名稱 + Test”。

  測試類應(yīng)該繼承與 AbstractJUnit4SpringContextTestsAbstractTransactionalJUnit4SpringContextTests

  對于 AbstractJUnit4springcontextTests 和 AbstractTransactionalJUnit4SpringContextTests 類的選擇:

  如果再你的測試類中,需要用到事務(wù)管理(比如要在測試結(jié)果出來之后回滾測試內(nèi)容),就可以使用AbstractTransactionalJUnit4SpringTests類。 事務(wù)管理的使用方法和正常使用Spring事務(wù)管理是一樣的。再此需要注意的是,如果想要使用聲明式事務(wù)管理,即使用 AbstractTransactionalJUnitSpringContextTests類,請?jiān)赼pplicationContext.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. 配置測試類

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

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

5. 創(chuàng)建測試方法

  創(chuàng)建測試用方法,推薦名稱為 “被測方法名稱+ Test”。

  測試方法上方加入 @Test

6. 通過JUnit 4 執(zhí)行

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

 

附錄1:整體測試類文件

復(fù)制代碼
/* @(#) 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);
}
}
復(fù)制代碼

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

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多