Spring3.0的单元测试

昨天搭建了SSH框架,在写单元测试的时候,发现AbstractTransactionalDataSourceSpringContextTests等这些类已经过期了,就想到一定会有新的测试工具类,翻了半天的文档,找到了解决方案,下面是使用的例子:
Java代码 复制代码  收藏代码
  1. @RunWith(SpringJUnit4ClassRunner.class//指定测试用例的运行器 这里是指定了Junit4   
  2. @ContextConfiguration({"/applicationContext-hibernate.xml","/applicationContext-beans.xml"}) //指定Spring的配置文件 /为classpath下   
  3. //@Transactional //对所有的测试方法都使用事务,并在测试完成后回滚事务   
  4. public class UserServiceImplTest {   
  5. //  @Autowired   
  6. //  private ApplicationContext appplicationContext; //自动注入applicationContext,这样就可以使用appli*.getBean("beanName")   
  7.     @Resource       //会自动注入 default by type   
  8.     private UserDao userDao;   
  9.     @Resource  
  10.     private UserService userService;   
  11.        
  12.     @Before //在每个测试用例方法之前都会执行   
  13.     public void init(){   
  14.     }   
  15.        
  16.     @After //在每个测试用例执行完之后执行   
  17.     public void destory(){   
  18.     }   
  19.        
  20.     @Test  
  21.     @Transactional  //使用该注释会使用事务,而且在测试完成之后会回滚事务,也就是说在该方法中做出的一切操作都不会对数据库中的数据产生任何影响   
  22. //  @Rollback(false) //这里设置为false,就让事务不回滚   
  23.     public void testAdd(){   
  24.         Assert.assertNotNull(userDao);   
  25.         Assert.assertNotNull(userService);   
  26.         userDao.add(new User("userDao1","world!"));   
  27.         userService.registerUser(new User("UserService1","world!"));   
  28.     }   
  29.        
  30.     public void testTest() {   
  31.            
  32.     }   
  33. }  
@RunWith(SpringJUnit4ClassRunner.class) //指定测试用例的运行器 这里是指定了Junit4
@ContextConfiguration({"/applicationContext-hibernate.xml","/applicationContext-beans.xml"}) //指定Spring的配置文件 /为classpath下
//@Transactional //对所有的测试方法都使用事务,并在测试完成后回滚事务
public class UserServiceImplTest {
//	@Autowired
//	private ApplicationContext appplicationContext; //自动注入applicationContext,这样就可以使用appli*.getBean("beanName")
	@Resource 		//会自动注入 default by type
	private UserDao userDao;
	@Resource
	private UserService userService;
	
	@Before //在每个测试用例方法之前都会执行
	public void init(){
	}
	
	@After //在每个测试用例执行完之后执行
	public void destory(){
	}
	
	@Test
	@Transactional  //使用该注释会使用事务,而且在测试完成之后会回滚事务,也就是说在该方法中做出的一切操作都不会对数据库中的数据产生任何影响
//	@Rollback(false) //这里设置为false,就让事务不回滚
	public void testAdd(){
		Assert.assertNotNull(userDao);
		Assert.assertNotNull(userService);
		userDao.add(new User("userDao1","world!"));
		userService.registerUser(new User("UserService1","world!"));
	}
	
	public void testTest() {
		
	}
}


可以看到很简单的写个@Resource 即可。
--------
不要忘了把spring-test-3.0.0.RELEASE.jar包放到classpath中。
jar包我附上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值