- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring本身即是一个容器,所有的业务对象都是通过Spring容器来管理。Spring的注入特点让我们轻松地解除了类与类之间的耦合性。但是,也给我们写单元测试带来了不少的麻烦,不过这种情况是在没有考虑Spring提供的单元测试工具的情况下才会发生的。
1. 准备需要的jar包。
需要准备spring-mock.jar和naming-factory-dbcp.jar。第一个jar包中包括了Spring提供的单元测试工具类,第二个jar包是提供建立JDBC连接所需要的类。
2. 继承AbstractTransactionalDataSourceSpringContextTests。
Spring提供了几种基于Junit的单元测试工具类,这里只介绍AbstractTransactionalDataSourceSpringContextTests,其他的请看官方文档。这是一个具有事务的单元测试用例,你可以设置单元测试成功后数据库事务是提交还是回滚,默认为回滚。
在继承类中需要实现getConfigLocations方法,这个方法主要是为了取得Spring的application-context.xml文件。
protected String[] getConfigLocations() { String[] config = new String[] { xxx-applicationContext.xml, xxxx-applicationContext.xml }; return config;} 注意,第一,如果使用上面的写法,这些xml文件必须在classpath下;第二,TransactionManager只能定义一个。
3. 写自己的测试用例。
示例代码如下:
public abstract class MyDependencyInjectionSpringContextTests extends AbstractTransactionalDataSourceSpringContextTests { protected ServiceContext context; public MyDependencyInjectionSpringContextTests() { } /** * 重写父类的onSetUpBeforeTransaction方法 **/ protected void onSetUpBeforeTransaction() throws Exception { super.onSetUpBeforeTransaction(); //此处可以加入你想进行的统一操作 ...... //调用子类的处理 beforeSetUp(); } protected abstract void beforeSetUp() throws Exception; protected String[] getConfigLocations() { String[] config = new String[] { service-applicationContext.xml, dao-applicationContext.xml }; return config; }}
====================================================================
public class MockServiceTest extends MyDependencyInjectionSpringContextTests { Mock mock; MockService service; protected void beforeSetUp() throws Exception { //初始化测试需要使用的数据 mock=new Mock(); mock.setName(test); mock.setType(1); service=(MockService) applicationContext.getBean(mockService); } public void testAddMock() { //测试方法 service.addMock(mock); //这里使用的是是hibernate,增加后主键被填充,所以只要判断实体对象的id是否为null即可 Assert.assertTrue(测试addMock方法失败。
您可能关注的文档
- IR 再生式干流燥机培训手册.doc
- snmp实验回件报告.docx
- IRIS标准末测试题.doc
- SNMP相功关论文网络件监控论文数字化论文.doc
- IS9O9字001-2008管理评审资料汇编.doc
- Win2003远程安装服务详节细部署.doc
- ISA服从务器安装配置图文教程.doc
- ISG系I列单级单吸立式管道离心泵.doc
- SNS社D交网站背末景介绍.doc
- SOA下一代Web技D术成架构.docx
- 2025届湖北省武汉市新洲区中考历史最后一模试卷含解析.doc
- 辽宁省丹东市第十四中学2025届中考冲刺卷生物试题含解析.doc
- 方兴大道承台砼施工技术交底.docx
- 江苏省扬州市田家炳实验中学2025届中考历史全真模拟试卷含解析.doc
- 2025届黑龙江省杜尔伯特县中考二模化学试题含解析.doc
- 海南省海口九中学海甸分校2025届中考生物模拟试卷含解析.doc
- 江苏省春城中学2025届中考生物全真模拟试卷含解析.doc
- 广东省广州市番禺区广博校2025届中考猜题历史试卷含解析.doc
- 安徽省合肥市重点中学2025届中考四模历史试题含解析.doc
- 河北省衡水市故城县2025届中考生物押题试卷含解析.doc
最近下载
- 2024~2025学年 Unit 5 Old toys Part A Let’s spell 教案-三年级下册英语人教PEP版(2024).docx
- 2024年安全小组职责(二篇) .pdf VIP
- 2025年七年级历史下册50道单项选择题专项练习含答案 .pdf VIP
- 国开《管理学基础》形考任务4答案(工商企业管理专业).pdf
- 数学教案_有理数教学案例.doc VIP
- 课件:股骨头骨坏死保髋治疗.pptx
- 2025新高考政治必背答题模板(共7册).docx
- 宣传栏施工方法.docx VIP
- 一年级小学生法制教育课件-(三).pptx VIP
- ITSM解决方案技术交流[解决方案].ppt VIP
文档评论(0)