大多数非IT类的外企,基本上都会有一些非常老的遗留系统,对于这些遗留系统的维护和开发有时候是非常痛苦的,想要写单元测试去对一小片代码进行测试有时候非常困难,需要准备的资源非常多,比如datasource,properties文件,jndi等,在这种情况下,如果我们使用继承或者代理的方法来处理,是不适用的,因为代码的强耦合性会使我们无法将继承或者代理的类注入到要测试的类中。这种情况下,我们可以使用aspectJ,在运行时改变方法返回的结果来使用我们自己的mock资源,具体的案例可以参看下面这篇文章。http://www.infoq.com/articles/refactoring-legacy-applications,写的非常不错。其实我们也可以用Javassist,asm或者bcel在运行期载入或者动态生成我们自己的类,然后修改Java class中的内容来使用mock的资源,不过复杂度高了些,毕竟aspectJ已经足够啦。
- 浏览: 94793 次
- 性别:
- 来自: 杭州
最新评论
-
gc715409742:
如果主键是varchar类型呢?
ibatis selectkey -
no7beckham:
这个还不算明白啊,下载了mingw-get 后就可以再命令行里 ...
Mingw和MSYS的安装记录 -
Wesley.S:
兄弟,能说的明白点儿吗???
Mingw和MSYS的安装记录 -
kevinzhan:
谢谢楼主,我也遇到这样的问题,已经用你的方法解决了。
Eclipse运行使用指定的JVM m2eclipse插件找不到tools.jar -
jeu1:
在java中如何在握手过程中指定crl呢?
SSL协议的握手过程
相关推荐
单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络...
SpringBoot 集成的单元测试,代码优化过程中都会使用的技术;MockBean和SpyBean实现单元测试的需求
可以用来Mock JAVA代码中的静态方法
在java web应用中,通过mock技术可以模拟spring容器,从而进行单元测试,详细可以参见本文
Java单元测试对于开发人员质量保证至关重要,尤其当面对一团乱码的遗留代码时,没有高覆盖率的单元测试做保障,没人敢轻易对代码进行重构。然而单元测试的编写也不是一件容易的事情,除非使用TDD方式,否则编写出...
虽然测试分为单元测试,集成测试,系统测试等等,但是作为开发,我们可能不需要做这么多的测试(有时甚至不做……)接下来就说说和开发息息相关的单元测试以及集成测试。 单元测试就是模块测试,我的理解一个模块...
本文档ppt讲述了软件测试及单元测试的概念及区别、Junit框架概念及基本应用,并有详细的代码示例、异常测试的概念的测试代码、 超时测试的概念及测试代码、忽略测试的概念及测试代码、Mock学习及前后端代码调试、...
我们需要用到Stub和Mock来模拟这些外部依赖的对象,从而控制它们 实例 Analyze类会检查filename的长度,如果小于8,我们就会使用一个实现IWebService的类来记录错误. 我们需要给Analyze方法写单元测试
mock测试实战
NULL 博文链接:https://username2.iteye.com/blog/1812762
模拟一切使用 mock 进行 python 单元测试的示例模拟 python 2.7: : (这里也有很多很好的例子) 从图书馆的主页: “mock 是一个用于在 Python 中进行测试的库。它允许您用模拟对象替换被测系统的某些部分,并对...
附件是在Python编程开发过程中使用unittest框架进行单元测试编写时的使用指南,同事也是用于代码重构的基础
同时,还涉及mock,stub和框架(如Typemock Isolator和Rhino Mocks)等高级主题,旨在帮助读者逐步掌握高级的测试模式和结构,高效地为遗留代码和甚至根本不可测试的代码编写测试。书中还讨论了测试数据库时需要的工具和...
mock练习
为功能测试构建通用mockserver系统.mock在单元测试中已经众所周知。现今我们有各种功能强大而又好用的mock框架,可以很方便的解除单元测试中各种依赖,这大大的降低了编写单元测试的难度。而测试驱动开发(TDD)...
但mock在单元测试中扮演一个什么角色呢?有时,你需要为单元测试的初始设置准备一些“其他”的代码资源。但这些资源兴许会不可用,不稳定,或者是使用起来太笨重。你可以试着找一些其他的资源替代;或者你可以通过...
Java单元测试增强工具源码,换种思路写Mock,让单元测试更简单 构建项目 主项目使用JDK 1.6+和Maven 3+版本构建,其中demo子项目需要JDK 1.8+版本。 mvn clean install 本地生成文档 docsify serve docs ...
mock struts1 测试