`
j2ee_zhongqi
  • 浏览: 204161 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring提供的JUnit

阅读更多

 protected void onSetUp() throws Exception {
		super.onSetUp();
		SessionFactory sf = (SessionFactory) applicationContext.getBean("sessionFactory");
        session = sf.getCurrentSession();
        assertNotNull(session);
		MailTemplateFactory.init();
	}

	protected void onTearDown() throws Exception {
		super.onTearDown();
		MailTemplateFactory.clear();
	}

1.AbstractSpringContextTests:spring中使用spring上下文测试的Junit扩展类,我们一般不会使用这个类来进行单元测试,它是spring内部设计使用到的类
2.AbstractDependencyInjectionSpringContextTests:这是AbstractSpringContextTests的直接子类,支持依赖spring上下文的测试类,这个类不支持事务。
3.AbstractTransactionalSpringContextTests(我们主要继承这个):这是 AbstractDependencyInjectionSpringContextTests的直接子类,这个类一般应用在事务相关的测试中,一旦完成每个测试它就会正常地回滚事务,不会真正更新数据库,若要手动设置事务相关操作,你可以重载onSetUpInTransaction和 onTearDownInTransaction方法,以便手工开始并提交事务,或者调用setComplete()方法。这个类也可以在没有事务的情况下,使用这个类。
4.AbstractTransactionalDataSourceSpringContextTests:这是 AbstractTransactionalSpringContextTests的直接子类,它使用了Spring的基于JDBC的 jdbcTemplate工具类,支持数据库级别的事务。

对于上面第三个,如果不想事务回滚的话,就调用this.setComplete()可以了;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics