廢話不多說(shuō),教程直接開(kāi)始。
使用Spring的測(cè)試框架需要加入以下依賴包:
在此,推薦創(chuàng)建一個(gè)和src平級(jí)的源文件目錄,因?yàn)閟rc內(nèi)的類都是為日后產(chǎn)品準(zhǔn)備的,而此處的類僅僅用于測(cè)試。而包的名稱可以和src中的目錄同名,這樣由于在test源目錄中,所以不會(huì)有沖突,而且名稱又一模一樣,更方便檢索。
創(chuàng)建一個(gè)測(cè)試用的類,推薦名稱為 “被測(cè)試類名稱 + Test”。
測(cè)試類應(yīng)該繼承與 AbstractJUnit4SpringContextTests 或 AbstractTransactionalJUnit4SpringContextTests
對(duì)于 AbstractJUnit4springcontextTests 和 AbstractTransactionalJUnit4SpringContextTests 類的選擇:
如果再你的測(cè)試類中,需要用到事務(wù)管理(比如要在測(cè)試結(jié)果出來(lái)之后回滾測(cè)試內(nèi)容),就可以使用AbstractTransactionalJUnit4SpringTests類。事務(wù)管理的使用方法和正常使用Spring事務(wù)管理是一樣的。再此需要注意的是,如果想要使用聲明式事務(wù)管理,即使用AbstractTransactionalJUnitSpringContextTests類,請(qǐng)?jiān)赼pplicationContext.xml文件中加入transactionManager bean:
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
如果沒(méi)有添加上述bean,將會(huì)拋出NoSuchBeanDefinitionException,指明 No bean named 'transactionManager' is definded.
添加如下內(nèi)容在class前,用于配置applicationContext.xml文件的位置。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
創(chuàng)建測(cè)試用方法,推薦名稱為 “被測(cè)方法名稱+ Test”。
測(cè)試方法上方加入 @Test
右鍵方法名,選擇則“Run As”→“JUnit Test”即可
/* @(#) 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的測(cè)試框架了。
聯(lián)系客服