使用Junit4.4測試
在類上的配置Annotation
@RunWith(SpringJUnit4ClassRunner.class) 用于配置spring中測試的環(huán)境
@ContextConfiguration(Locations="../applicationContext.xml") 用于指定配置文件所在的位置
@Test標(biāo)注在方法前,表示其是一個測試的方法 無需在其配置文件中額外設(shè)置屬性.
多個配置文件時{"/applic","/asas"} 可以導(dǎo)入多個配置文件
測試中的事務(wù)配置 ,
AbstractTransactionalJUnit38SpringContextTests、 AbstractTransactionalJUnit4SpringContextTests
AbstractTransactionalTestNGSpringContextTests
已經(jīng)在類級別預(yù)先配置了好了事物支持
在普通spring的junit環(huán)境中配置事務(wù)
在類之前加入注解
@TransactionConfiguration(transactionManagert="txMgr",defaultRollback=false)
@Transactional
在方法中主要使用的Annotation包括
@TestExecutionListeners({})---用于禁用默認(rèn)的監(jiān)聽器 否著需要通過@contextconfiguration配置一個ApplicationContext;
@BeforeTransaction
@Before
@Rollback(true)
@AfterTransaction
@NotTransactional
Junit4.4下支持類,方便基于junit4.4的測試
AbstractJUnit4SpringContextTests:
AbstractTransactionalJUnit4SpringContextTests:
需要在applicationContext中定義一個datasource
2009年3月9日
目前Spring2.5只支持4.4的Junit進(jìn)行測試
下面是一個簡單的測試Demo
1 package com.gameplus.service.webService;
2
3 import javax.annotation.Resource;
4
5 import org.junit.Test;
6 import org.junit.runner.RunWith;
7 import org.springframework.test.context.ContextConfiguration;
8 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
9
10 @RunWith(SpringJUnit4ClassRunner.class)
11 @ContextConfiguration(locations={"../../../../applicationContext.xml","../../../../applicationDatasource.xml"})
12 public class UserServiceTest {
13 @Resource
14 private IUserService userService;
15
16 @Test
17 public void testAddOpinion1() {
18 userService.downloadCount(1);
19 System.out.println(1);
20 }
21 @Test
22 public void testAddOpinion2() {
23 userService.downloadCount(2);
24 System.out.println(2);
25 }
26 }
27