`
max_eye
  • 浏览: 16618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

基于spring的junit单元测试

阅读更多
使用Spring进行单元测试,需要spring-mock.jar包

测试程序继承AbstractTransactionalSpringContextTests,需要重写getConfigLocations()方法,返回给spring配置文件名称.spring的单元测试会自动回滚数据库,对于结果的判断可以使用assert断言,需要对数据库进行实际的操作需要setComplete()方法.ps:有必要时需要注入sessionFactory,获得session来保持事务的统一
ex:
public class BaseUnitTest extends AbstractTransactionalSpringContextTests {

	private SessionFactory sessionFactory;
	
	@Override
	protected String[] getConfigLocations() {
		return new String[]{"applicationContext-*.xml"};
	}

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}
	
	public Session getSession(){
		return SessionFactoryUtils.getSession(sessionFactory, false);
	}
}


public class ModuleManagerTest extends BaseUnitTest {
	
	private UserManager userManager;
         private User user = null;	


	public void testSearchUsers() {
		fail("Not yet implemented");
	}

	public void testAddUser() {
		User user= new User();
		user.setName("max");
		userManager.addUser(user);
                  this.assertEquals(user.getName(), "max");
                  //真正插入数据库
		//this.setComplete();
	}

         public void testUpdateUser() {
		testAddUser();
		
		//获得当前的session对象
		Session session = getSession();
		
		//清除原来的实体对象,以避免具有相同数据库标识的不同的JVM对象放到同一个session对象
		//的时候所产生的冲突
		session.evict(user);
		
		User newUser = new User();
		newUser.setId(user.getId());
		newUser.setName("更改之后的用户名");
		userManager.updateUser(newUser, 0);
		
		user = UserManager.findUser(user.getId());
		this.assertEquals(user.getName(), "更改之后的用户名");
		
	}

	public void setModuleManager(ModuleManager moduleManager) {
		this.moduleManager = moduleManager;
	}

}
分享到:
评论

相关推荐

    基于Spring的JUnit单元测试

    总结一下,基于Spring的JUnit4单元测试涉及到以下几个关键点: 1. 使用`@RunWith(SpringRunner.class)`和`@ContextConfiguration`设置Spring测试环境。 2. `@Autowired`注解注入需要测试的bean。 3. 编写`@Test`注解...

    spring MVC junit 单元测试(controller)

    这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在的问题,提高软件的可靠性和可维护性。 首先,让我们了解Spring MVC的基本概念。Spring MVC...

    Junit 单元测试完整案例

    在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,提高代码质量。...

    基于Spring的JUnit4测试

    基于Spring的JUnit4单元测试

    27. Spring Boot Junit单元测试【从零开始学Spring Boot】

    单元测试是一种针对软件中的最小可测试单元(如方法)进行的独立验证,目的是确保这些单元按照预期工作。在Java世界里,JUnit是最常用的单元测试框架,它提供了一套简洁的API来编写和运行测试用例。 Spring Boot...

    Spring3单元测试和集成测试

    单元测试是指针对代码中的最小可测试单元进行的测试,通常是一个方法。在Spring3中,我们可以使用JUnit作为主要的测试框架,结合`@RunWith(SpringJUnit4ClassRunner.class)`注解来启动Spring上下文,使得测试类能够...

    Junit单元测试(很经典)

    **Junit单元测试详解** 单元测试是软件开发过程中的重要环节,它允许开发者对程序的各个模块进行独立验证,确保代码的功能正确性。在Java世界里,Junit是最广泛使用的单元测试框架,它为Java程序员提供了简洁易用的...

    springjunit

    SpringJUnit就是一种结合了Spring框架和JUnit测试工具的解决方案,它为基于Spring的应用程序提供了强大的单元测试支持。下面我们将深入探讨SpringJUnit的相关知识点。 首先,JUnit是Java编程语言中最常用的单元测试...

    Spring Boot 单元测试和集成测试实现详解

    本文详细介绍了 Spring Boot 中的单元测试和集成测试的实现细节,包括使用 JUnit 和 Hamcrest 框架来进行单元测试,以及使用@SpringBootTest 注解来标记集成测试。这对于学习 Spring Boot 和测试有重要参考价值。

    spring2 junit3

    这个压缩包文件包含了一系列的项目文件,这些文件对于理解一个基于Spring的Java项目结构至关重要: 1. `.project`:这是Eclipse IDE的工作空间项目配置文件,包含了项目的构建路径、JRE设置、Nature(项目类型)等...

    Spring+JUnit4 +Ant测试报告

    4. **运行测试**:通过命令行或者IDE运行Ant任务,Ant会执行JUnit测试,并将结果输出到指定的目录下。 5. **查看测试报告**:Ant可以生成JUnit测试报告,通常为HTML格式,这样我们就可以直观地看到每个测试用例的...

    单元测试利器JUnit4

    JUnit4是由Ernst Kuhr和Kent Beck开发的开源测试框架,它基于Java语言,用于编写和运行可重复的单元测试。JUnit4相较于早期版本引入了许多改进,如注解、参数化测试和测试套件等,使得测试代码更加简洁和灵活。 2. ...

    基于Springboot+Junit+Mockito做单元测试的示例

    基于Springboot+Junit+Mockito做单元测试的示例 本文将从多个角度详细介绍如何使用Springboot、Junit和Mockito进行单元测试,并以实例代码演示。以下是本文的知识点总结: 一、单元测试的重要性 单元测试是软件...

    最简单的含单元测试的spring boot+activiti集成demo

    单元测试是软件开发中的一个重要环节,它针对代码的最小可测试单元进行验证,确保每个组件都按预期工作。在本示例中,单元测试用于检查Spring Boot与Activiti的集成是否正确,以及相关的业务逻辑是否稳定可靠。通常...

    Struts2SpringUnitDemo单元测试

    Struts2SpringUnitDemo是一个示例项目,展示了如何在Java应用程序中将Struts2和Spring框架进行集成,并进行单元测试。这两个框架都是Java Web开发中的关键组件,Struts2负责控制层逻辑,Spring则提供了全面的依赖...

    spring的Junit测试-helloworld

    在Spring框架中,JUnit是广泛使用的单元测试工具,它与Spring的集成使得我们可以方便地进行基于Java的测试。本文将深入探讨如何在Spring环境中利用JUnit进行"Hello, World!"的测试,同时也涉及到一些源码分析和测试...

    spring3 + mybatis3 + junit4 可运行项目示例

    这是一个基于Spring3、MyBatis3和JUnit4的可运行项目示例,旨在提供一个完整的、可测试的Java Web应用程序框架。这个项目的核心是利用Spring作为应用的ioc(Inversion of Control,控制反转)和aop(Aspect Oriented...

    测试+JUnit+单元测试+学习阶段

    单元测试是对软件中的最小可测试单元进行检查和验证,对于Java来说,这个单元通常是一个方法。它的目标是确保代码的每个部分都能按照预期工作,以便尽早发现和修复错误。单元测试的实践有助于预防bug,提高代码的...

    spring单元测试

    在本文中,我们将深入探讨如何使用Spring框架进行单元测试,特别是在一个基于Java配置的Web项目中。我们将重点关注如何集成H2内存数据库以简化测试过程,以及如何针对Controller层和服务层进行有效的测试。 首先,...

    junit基于标注的测试

    【基于标注的JUnit测试】 JUnit是Java开发中最常用的单元测试框架之一,它允许开发者编写可重复执行的测试用例来验证代码的正确性。在JUnit4及其后续版本中,引入了基于注解的测试,这大大简化了测试的编写,避免了...

Global site tag (gtag.js) - Google Analytics