需要的jar 1.spring-mock.jar 2.dbunit-2.2.jar 3.junit.jar
大概流程:
1.用dbunit创建初始的测试数据。
2.用spring-mock 维护测试过程中的数据会滚,这样可以保证测试后数据库保持原状态。
3.用junit架构测试。
4.用dbunit销毁初始测试数据。
详细过程:
创建测试数据:
dbunit采用配置文件方式,将测试数据放入.xml文件中,形式非常简单:
<表名1
列名1 = 值1
列名2 = 值2
列名3 = 值3
列名4 = 值4
……
……
/>
程序将上面数据加载到数据库
import org.dbunit.IDatabaseTester;
import org.dbunit.JdbcDatabaseTester;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.DatabaseOperation;
protected IDataSet getDataSet() throws Exception {
File f = new File(".");
String filePath = f.getAbsolutePath().substring(0,f.getAbsolutePath().length()-1)+"confdbdataSet4mock.xml";
return new FlatXmlDataSet(new FileInputStream(new File(filePath)));
}
初始数据:
databaseTester = new JdbcDatabaseTester("com.mysql.jdbc.Driver",
"jdbc:mysql://127.0.0.1:3306/datetable", "sa", "sa");
IDataSet dataSet = getDataSet();//导入初始数据
databaseTester.setDataSet(dataSet);
databaseTester.onSetup();
销毁数据:
databaseTester.setTearDownOperation(DatabaseOperation.DELETE);
databaseTester.onTearDown();
下面看看spring-mock:
1.封装了junit的testcase:
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
这个类起到的作用:
a.继承testcase
b.读取spring-bean.xml文件中的事务处理,将监听所有事务,然后在测试结束后,进行事务会滚,这样保证在测试过程中产生的数据在结束后不会保存到数据库中。
c.override getConfigLocations()这个函数,将spring读取bean操作进行封装。
public abstract class SpringDAOTestCase extends AbstractTransactionalDataSourceSpringContextTests {
protected String[] getConfigLocations() {
File f = new File(".");
String filePath ="file:" + f.getAbsolutePath().substring(0,f.getAbsolutePath().length()-1)+"confdbspring-context-db.xml";
return new String[] { filePath };
}
}
public class DaoTest4Mock extends SpringDAOTestCase {
protected void onSetUpInTransaction() throws Exception {
super.onSetUpInTransaction();
/*
dbunit 初始化数据
*/
}
protected void onTearDownInTransaction() {
/*
dbunit 释放数据
*/
}
public void testInsert() {
………………
}
public void testUpdate() {
………………
}
public void testDelete() {
………………
}
public void testSelect() {
………………
}
}
分享到:
- 2008-01-24 11:47
- 浏览 1437
- 评论(0)
- 论坛回复 / 浏览 (0 / 3937)
- 查看更多
相关推荐
struts-junit spring-mock spring-test junit等的javadoc.jar格式的API文档,直接导入Eclipse/MyEclipse/Netbeans等IDE即可实现快速API查询。 包含以下文件: File name -------------------------------------- ...
spring-mock.jar spring-mock.jar
spring-mock-2.0.8.jar
Spring针对J2EE的常用Web接口提供了Mock,这些组件被发布于spring-mock.jar,介绍如下: MockHttpServletRequest:HttpServletRequest接口的mock实现。 MockHttpServletResponse:HttpServletResponse接口的mock...
【标题】"5-Mock+EasyMock.rar" 涉及到的是软件开发中的测试技术,特别是关于模拟对象(Mock Objects)和EasyMock框架的应用。在软件开发中,特别是使用面向对象编程时,Mock对象是一种重要的测试策略,它用于替代...
vue-cli 3.0 + element-ui + vue-router + axios + Vuex + Mock + echarts 2,测试账号地址 访问地址:待建设 账号:admin密码:admin 账号:xiaoxiao密码:xiaoxiao 因为菜单是根据不同用户权限动态生成的,所以...
JavaEE源代码 spring-mockJavaEE源代码 spring-mockJavaEE源代码 spring-mockJavaEE源代码 spring-mockJavaEE源代码 spring-mockJavaEE源代码 spring-mockJavaEE源代码 spring-mockJavaEE源代码 spring-mockJavaEE源...
spring-mock-2.0.3.jar
在没有后端支持或者开发阶段,Mock 可以模拟后端API,提供静态数据供前端进行测试和开发。Vxe-AJAX 或许是 Xe-AJAX 的一个扩展或优化版本,提供了更多特性和更好的与Vue集成。 在"cdn-mock-demo"这个项目实例中,...
技术栈vue2.0 + elementUI + vuex + easy-mock + vue-router + es6如果对你有帮助请点右上角star,谢谢 概述 这两个月一直忙于公司的后台管理系统开发,现在准备把我司用到的一些组件抽离出来,在写我司项目之前,也...
Vue 3.2 -- 使用vue3+ant-design-vue+vite+ts开发的通用中后台框架,实现了权限系统、动态菜单、国际化、mock数据、表格集成快速使用等功能,简洁干净开箱即用。. 各领域数据集,工具源码,适合毕业设计、课程设计...
在这个后台管理系统中,Easy-Mock可能被用来在没有真实后端服务的情况下,模拟API响应,方便前端开发者进行开发和调试工作。 【项目结构】:尽管未提供具体的文件列表,但通常在这样的项目中,我们可以预期包含以下...
gmall2020-mock-db-2021-11-14.jar
然而,当涉及到测试时,特别是对于那些涉及异步操作的动作创建者(action creators)和中间件,直接在真实环境中进行测试可能会带来复杂性。为了解决这个问题,开发者通常会使用像`redux-mock-store`这样的模拟存储...