`
allenwei
  • 浏览: 88589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在Junit中实现类似OpenSessionInViewFilter保持session的功能

阅读更多
private SessionFactory sessionFactory;

      //重写setUp方法
	protected void setUp() throws Exception {
		super.setUp();
		sessionFactory = (SessionFactory) SpringContext.getInstance().getBean(
				"sessionFactory");//SpringContext是自己创建spring工具类

		Session s = sessionFactory.openSession();
		TransactionSynchronizationManager.bindResource(sessionFactory,
				new SessionHolder(s));

	}

	protected void tearDown() throws Exception {
		super.tearDown();
		SessionHolder holder = (SessionHolder) TransactionSynchronizationManager
				.getResource(sessionFactory);
		Session s = holder.getSession();
		try {
			s.flush();
		} catch (Throwable e) {
			e.printStackTrace();
		}

		TransactionSynchronizationManager.unbindResource(sessionFactory);
		SessionFactoryUtils.closeSession(s);
	}

  SpringContext.class

public class SpringContext {

	private static SpringContext m_instance;

	private static String[] contextFiles = new String[] { "applicationContext.xml" };

	private ApplicationContext ctx;

	public SpringContext() {
		ctx = new ClassPathXmlApplicationContext(contextFiles);
	}

	public SpringContext(String[] setting) {
		ctx = new ClassPathXmlApplicationContext(setting);
	}

	public synchronized static SpringContext getInstance() {
		if (m_instance == null) {
			m_instance = new SpringContext(contextFiles);
		}
		return m_instance;
	}

	public Object getBean(String beanId) {
		Object o = ctx.getBean(beanId);
		if (o instanceof TransactionProxyFactoryBean) {
			TransactionProxyFactoryBean factoryBean = (TransactionProxyFactoryBean) o;
			o = factoryBean.getObject();
		}
		return o;
	}

}
 
分享到:
评论

相关推荐

    ANT&JUNIT中文手册

    同时,由于Ant可以与JUnit集成,手册也将教你如何通过Ant来运行JUnit测试,从而实现构建过程中的自动化测试。 Ant与JUnit的结合使用是Java开发中的常见实践,Ant负责项目的构建,而JUnit则确保代码的质量。通过Ant...

    Myeclipse中的JUnit测试详细

    在Java开发环境中,MyEclipse是一款非常流行的集成开发环境(IDE),它提供了丰富的功能,包括对JUnit测试的强大支持。JUnit是Java编程语言中用于单元测试的开源框架,它使得开发者可以方便地编写和运行测试用例,...

    JUnit框架实现Java单元测试.pdf

    JUnit 框架是 Java 开发中的一种强大的开源单元测试框架,能够在 Java 开发过程中不断进行单元测试,提高程序质量,保证程序结果的正确运行。基于 JUnit 框架的 Java 单元测试最为成功,且广泛应用于软件开发中。 1...

    junit-dataprovider为JUnit提供一个类似于TestNG的dataproviderrunner

    《使用junit-dataprovider增强JUnit测试能力》 在Java开发过程中,单元测试是保障代码质量...通过熟练掌握这一工具,开发者可以在保持对JUnit熟悉度的同时,享受到类似TestNG的高级测试特性,从而提升测试质量和效率。

    java反射实现Junit3框架

    Java反射是Java编程语言的一个强大特性,它允许程序在运行时动态地获取类的信息并调用其方法。...在实现JUnit3框架时,反射提供了一种灵活的方式,使得我们可以在不知道具体类名的情况下编写通用的测试框架。

    junit-4.11-API文档-中文版.zip

    赠送jar包:junit-4.11.jar; 赠送原API文档:junit-4.11-javadoc.jar; 赠送源代码:junit-4.11-sources.jar; 赠送Maven依赖信息文件:...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Junit 5中文帮助指南

    Junit 5中文帮助指南,JUnit 5跟以前的JUnit版本不一样,它由几大不同的模块组成,这些模块分别来自三个不同的子项目。 JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform是在JVM上 启动...

    在Eclipse中使用JUnit4进行单元测试

    在Eclipse中使用JUnit4进行单元测试是一种常见的Java开发实践,它可以帮助开发者确保代码的正确性和稳定性。单元测试是软件开发中的重要环节,通过编写针对代码各个独立模块的测试用例,可以验证代码功能是否按预期...

    使用junit中例子

    使用junit中例子, junit demo, junit 教程

    JUnit in Action 3nd Edition

    JUnit在软件测试领域中扮演着重要的角色,帮助开发者编写高质量的代码。下面是关于JUnit的重要知识点: JUnit的历史 JUnit的历史可以追溯到1997年,当时Kent Beck和Eric Gamma创立了JUnit。JUnit的第一个版本是...

    在Eclipse中使用Junit

    在Eclipse中使用JUnit是Java开发中的一个关键技能,它能帮助我们进行单元测试,确保代码的质量和稳定性。JUnit是一个流行的开源测试框架,专为Java编程语言设计,它简化了编写和运行测试用例的过程。下面我们将详细...

    JUnit3.8.1 以及使用JUnit测试的代码demo

    在JUnit3.8.1中,测试类需要继承自`junit.framework.TestCase`。测试方法通常以`test`开头,例如`testAdd()`,并且它们不需要返回值,也不接受参数。 在JUnit中,使用注解来标记测试方法。在JUnit3.8.1中,这些注解...

    junit5.jar

    在Maven或Gradle项目中,可以通过配置依赖来实现。例如,在Maven的pom.xml文件中添加以下依赖: ```xml <groupId>org.junit.jupiter <artifactId>junit-jupiter-engine <version>5.x.x <scope>test ``` 这里...

    eclipse中使用junit4

    JUnit4是JUnit框架的一个重大改进,特别是在Java5引入注解功能之后。注解(Annotation)在Java中是一种元数据,用于提供额外的信息来描述类、方法或变量的用途,类似于公共(public)、静态(static)等关键字。 在...

    在eclipse中使用junit4教程

    jUnit4 在 Eclipse 中的使用教程 jUnit4 是 JUnit 框架有史以来的最大改进,其主要...jUnit4 是一个功能强大且灵活的测试框架,在 Eclipse 中使用 jUnit4 可以方便地进行单元测试和集成测试,提高测试效率和测试质量。

    在java中使用 junit单元测试

    "JUnit单元测试在Java中的应用" 在Java中使用JUnit单元测试是软件开发过程中不可或缺的一部分。单元测试是指在开发过程中,对代码的一部分进行测试,以确保代码的正确性和可靠性。在Java中,JUnit是最流行的单元...

    junit5.rar包含JUnit Platform + JUnit Jupiter + JUnit Vintage依赖jar包

    JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage,包含依赖包:junit-jupiter-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-platform-launcher-1.5.1.jar,junit-...

    Junit4.4 Junit3.8.1

    1. **测试注解**:虽然注解功能在后续版本中得到强化,但在3.8.1中,`@Test`注解用于标记测试方法,但不支持条件测试或参数化测试。 2. **测试套件**:通过`@Suite`注解,开发者可以组织多个测试类进行批量执行。 3....

    JUnit in action JUnit Recipies

    接着,书中介绍了参数化测试,这是一种强大的特性,允许使用不同的输入数据集运行同一个测试方法,从而实现对同一功能的多方面验证。此外,还讲解了使用套件(Test Suites)和分类(Categories)来组织和运行相关的...

Global site tag (gtag.js) - Google Analytics