spring提供了一个做单元测试的方法。我最喜欢的是它的自动事务回滚功能。用起来很爽。
直接看代码
package com.ali.gongyi.model.account;
import junit.framework.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;
import com.ali.gongyi.dao.BaseDao;
/**
* @author zhenghui
* @version 1.0
* @data 2011-2-11 下午03:22:14
*
*/
@RunWith(SpringJUnit4ClassRunner.class) //指定测试用例的运行器 这里是指定了Junit4
@ContextConfiguration("classpath:applicationContext.xml")
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
@Transactional
public class TestUserDao {
@Autowired
private BaseDao<User, Long> userDao = null;
@Test
@Rollback(true)//上面已经设置defaultRollback=true。这里其实可以不用写了
public void testModifyUser() {
User user = userDao.findById(2L);
System.out.println(user.getId());
user.setDisplayName("系统管理员4");
userDao.saveOrUpdate(user);
Assert.assertEquals(userDao.findById(2L).getDisplayName(), "系统管理员4");
}
}
说明
1 userDao的实现可以是hibernate,也可以是ibatis (这两个我都做了测试,这种方式都是没有问题的)。当然最主要看重的是自动回滚。
2 transactionManager需要自己配置。
分享到:
相关推荐
NULL 博文链接:https://chenjingbo.iteye.com/blog/916577
spring-test项目实例 1.使用spring-test与junit进行单元测试。 2.包含回滚动作,避免测试数据污染数据库。
产品特点支持Spring和Spring Boot框架支持的版本是Spring 4.3.0+和Spring Boot 1.4.0+ 与Spring TestContext框架自动集成完全支持上下文缓存与Flyway数据库迁移工具无缝集成只需将@FlywayTest批注放置在测试类或方法...
spring-boot-db初始化测试 测试用例,显示未初始化数据库以进行测试的错误 该项目包含一个测试,该测试查询内存中的h2数据库以确保其不为空 $ mvn test ... 2014-10-14 10:10:21.409 WARN 3435 --- [ main] o.s.b.a....
弹簧测试数据库单元模板 使用简化CRUD测试的扩展最新发布0.1.1 您可以在Maven中央存储库中下载二进制文件: Gradle testCompile 'com.github.hippoom:spring-test-dbunit-template: 0.1 . 1 ' 玛文 < dependency> ...
spring+mybatis+redis 的一个测试项目,先用SQL语句创建表,然后替换数据库url和账号密码
一个使用数据库的单元测试示例以及它所需的少量工具的实现。 JUnit4 DBUnit(原始定制) 弹簧框架 spring-test-dbunit(产品名称) 的情况下的组合是先决条件。 此外,示例数据库类型是 MySQL。 最新整合 大师: ...
主要描述在Springboot的单元测试和项目启动时如何使用不同的配置文件,功能不多,搞清楚原理即可。 引入Mysql数据库,引入Jpa管理数据库,使用Hibernate自动建表。 使用Jpa对数据库进行增加、删除、修改和查询,全部...
Spring Boot REST API TDD 演示REST API的Spring Boot应用程序是测试优先开发的。 使用1个域模型 1个控制器,执行2个动作 使用本地 MySql数据库请参阅src/main..../gradlew test以运行单元测试 ./gradlew integration
使用了 Spring - Test 与Junit 编写单元测试代码;使用了 Restful 设计风格,以 AJAX 发送 PUT 与 DELETE 类型请求;采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 教务系统管理系统 教务管理系统 ...
Spring-docker-Postgres-Swagger测试运行这个项目git克隆mvn全新安装docker build ./ -t apirest docker-compose up --build
本人搭的项目,可以正常运行。用于自己存留备份,若有人需要也可下载。 项目用到的技术点: maven父子项目(java)+ SSM(spring+springmvc+spring-mybatis)+ ...spring-test(测试例子)+ bootstrap
使用了spring-test与junit编写单元测试代码 使用了restful设计风格,以ajax发送put与delete类型请求 采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 还涉及到许多的开发细节:Bootstrap搭建页面,...
使用了 Spring - Test 与Junit 编写单元测试代码;使用了 Restful 设计风格,以 AJAX 发送 PUT 与 DELETE 类型请求;采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 基于BootStrap和SpringBoot的学生...
在这个例子中,我们展示了如何使用Hypersonic内存数据库测试Hibernate JPA项目。依存关系该项目将使用Apache Maven构建。 这是完整的POM文件,其中包含我们需要的所有依赖项: 4.0.0示例spring-dbunit-example ...
heroku-spring-boot-test1 Heroku 的 Spring Boot 测试。 使用 Heroku 测试部署 REST Api。 数据来自 PostgreSQL 数据库。 目前没有认证,没有数据管理。 这是对使用 REST API 调用和 ionic 框架的移动应用程序的...
使用JUnit和Mockito进行Spring RESTful的完整性和模拟测试 这是一个Spring Boot Maven演示应用程序,展示了如何使用JUnit和Mockito Framework对Sprig Boot RESTful服务执行完整性和模拟测试。 先决条件 Java SE开发...
Thymeleaf+Spring 测试项目该项目的目的是研究 Spring 和 Thymeleaf 作为 Eionet 软件的新软件标准。 设置为E-PRTR的demo,供大家讨论改写使用。 该应用程序使用 Liquibase 创建和升级数据库,并使用 Thymeleaf 作为...
java毕业设计-基于Spring Boot的移动流量套餐推荐系统源码+数据库+部署文档.。已获通过的高分项目。 启动方式 环境要求:Java 11 后端使用 Spring Boot 框架,因此按照相应的启动方式运行即可。 接口测试方式 方式...
使用MYSQL5数据库创建如下数据库和表进行测试 CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET utf8 */; CREATE TABLE `tb1` ( `Id` int(11) unsigned NOT NULL AUTO_INCREMENT, `co1` varchar(255...