- 浏览: 115076 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
lilei9963:
...
weblogic修改密码 -
timefinger:
不错哦,和楼主一到学习。
Linux的find命令 -
Sailer164:
不错,谢谢
jmock
使用Djunit来mock class
EasyMock本版介绍的文章已经很多了,用来Mock接口非常好用。
其实大多数情况下,用它就已经足够了。
不过很不幸,偏偏很多项目的代码就是很糟糕,没有接口,没有注入,class直接new。
我就碰到了这样的项目,客户要求还非常高,覆盖率要100%。
没办法,上Djunit吧,我在javaeye没有搜到相应文章,补充上吧。
Djunit是个Eclipse插件,装上后可以在右键的run菜单中多出Djunit Test的选项,用它跑就可以了。
想用ANT进行自动测试的,需要配置上DJUNIT的TASK。
同时此插件提供覆盖率统计功能,也挺好用的。
网址:http://works.dgic.co.jp/djunit/
Djunit使用非常简单,只要记住三句话就可以了。
1,初始化
Java代码
1.MockObjectManager.initialize()
MockObjectManager.initialize()
2,Mock返回值或者Exception
Java代码
1.MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , yourMockReturnValue);
MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , yourMockReturnValue);
Java代码
1.MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , new XXXException());
MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , new XXXException());
此时执行你的测试对象类吧,yourClass.yourmethod(XXX),会返回你mock的数据
3,获取你Mock的类的方法的入口参数,用来判断参数传递是否正确,最后一个参数是指参数的index
Java代码
1.MockObjectManager.getArgument(YourClass.class, "yourmethod", 0);
MockObjectManager.getArgument(YourClass.class, "yourmethod", 0);
还有些比如判断是否调用过,调用次数之类的辅助方法都在MockObjectManager里面,看方法名就知道怎么用了。
此东东与EasyMock配合真是天衣无缝,一个搞定接口mock,一个搞定类mock(反过来貌似不行)。
特别是Exception的Mock,还记得finally中的close数据库连接或者文件吗,用它轻松mock搞定,覆盖率100%
EasyMock本版介绍的文章已经很多了,用来Mock接口非常好用。
其实大多数情况下,用它就已经足够了。
不过很不幸,偏偏很多项目的代码就是很糟糕,没有接口,没有注入,class直接new。
我就碰到了这样的项目,客户要求还非常高,覆盖率要100%。
没办法,上Djunit吧,我在javaeye没有搜到相应文章,补充上吧。
Djunit是个Eclipse插件,装上后可以在右键的run菜单中多出Djunit Test的选项,用它跑就可以了。
想用ANT进行自动测试的,需要配置上DJUNIT的TASK。
同时此插件提供覆盖率统计功能,也挺好用的。
网址:http://works.dgic.co.jp/djunit/
Djunit使用非常简单,只要记住三句话就可以了。
1,初始化
Java代码
1.MockObjectManager.initialize()
MockObjectManager.initialize()
2,Mock返回值或者Exception
Java代码
1.MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , yourMockReturnValue);
MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , yourMockReturnValue);
Java代码
1.MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , new XXXException());
MockObjectManager.addReturnValue(YourClass.class, "yourmethod" , new XXXException());
此时执行你的测试对象类吧,yourClass.yourmethod(XXX),会返回你mock的数据
3,获取你Mock的类的方法的入口参数,用来判断参数传递是否正确,最后一个参数是指参数的index
Java代码
1.MockObjectManager.getArgument(YourClass.class, "yourmethod", 0);
MockObjectManager.getArgument(YourClass.class, "yourmethod", 0);
还有些比如判断是否调用过,调用次数之类的辅助方法都在MockObjectManager里面,看方法名就知道怎么用了。
此东东与EasyMock配合真是天衣无缝,一个搞定接口mock,一个搞定类mock(反过来貌似不行)。
特别是Exception的Mock,还记得finally中的close数据库连接或者文件吗,用它轻松mock搞定,覆盖率100%
发表评论
-
java 通过反射获取泛型的类型
2014-07-09 10:52 622jdk1.5开始支持泛型,所以我们有时需要把泛型里定义的对象的 ... -
Java生产压缩包的方法
2013-12-02 17:17 627commons-compress-1.5.jar //将by ... -
具有公有地静态final数组域
2013-12-02 17:13 1979public static final String[] CO ... -
Java创建目录
2013-08-03 10:25 779创建目录 private void createMultiDi ... -
字节数组处理
2013-07-23 10:21 761/** * 字节数组转为字符串 * @param fi ... -
Java引用POI实现Word转Html方法
2013-06-25 16:37 11371.下载POI工具并引用 2.读取整个doc文档,获得该文档的 ... -
读取DOC的图片
2013-06-25 16:30 937/** * 读取DOC图片 * @param docP ... -
读取DOC的表
2013-06-25 10:29 484/** * 读取doc的表格数据 * @param d ... -
iText产生PDF文件
2013-06-24 13:53 942package com.test.common.util; ... -
itext itextAsian
2013-06-24 10:22 2061一.准备工作 首先需要加载 itext-1.1 ... -
生成DOC和PDF文件
2013-06-24 10:18 960/** * 仅适合读取doc文 ... -
计算跨度为90天的开始时间和结束时间
2013-05-20 16:57 837public static void main(String[ ... -
Random
2013-03-15 10:09 687返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 in ... -
JSONObject学习
2012-08-07 15:50 1550一、JAR包简介 要使程序可以运行必须引入JSON-l ... -
Java URLConnection 总结
2012-06-14 22:25 739针对JDK中的URLConnection连接Servlet的问 ... -
JAVA面试题
2012-05-15 16:56 7901. 在Java中,负责对字节代码解释执行的是(B) A. 应 ... -
HttpSession
2012-04-05 15:35 1570java web服务器通过实现httpsession来保存客户 ... -
JAVA上传文件
2012-03-26 16:10 1276ServletInputStream in = request ... -
JAVA下载文件
2012-03-22 10:49 1042JAVA下载文件: String formatsStr = & ... -
Java编程中“为了性能”尽量要做到的一些地方
2012-03-09 15:53 666最近的机器内存又 ...
相关推荐
DJUnit是Eclipse集成开发环境中的一个插件,主要用于Java应用程序的单元测试。这个插件扩展了JUnit,使得开发者可以在Eclipse中更加便捷地进行基于DJ(Dynamic Java)的测试工作。DJUnit的名字来源于"Dynamic JUnit...
djUnit 是一个专门为Java开发的单元测试框架,它扩展了JUnit,增加了对DJANGO(一个流行的Python Web框架)的支持。Eclipse 插件是开发者在IDE中集成 djUnit 的工具,使得编写、运行和调试测试更为便捷。这个压缩包...
**Eclipse插件-Djunit详解** Djunit是由日本dgic公司开发的一款免费的Eclipse插件,专为Java开发者设计,旨在增强Eclipse的标准Junit测试框架功能。Djunit不仅支持基本的单元测试,还引入了VirtualMock技术,以帮助...
Djunit是一款专门为Eclipse集成开发环境设计的JUnit测试框架扩展。它允许开发者在Eclipse中方便地进行DJango项目的单元测试。DJunit的核心功能是将JUnit的测试框架与Django框架紧密结合,使得开发者能够在Eclipse...
《Djunit 0.8.2:Eclipse 插件测试框架的探索与实践》 Djunit,全称为"Djunit包",是一款专为Eclipse集成开发环境设计的单元测试框架,其版本号为0.8.2。这款工具的核心功能是帮助Java开发者在Eclipse环境下对JDT...
关于Eclipse的djunit djUnitは、「テストされたコード」と「テストされていないコード」をレポート表示します。このレポートを参考にテスト不足を解消させることで、テストの品質が向上し、プログラムの品質が向上し...
djunit0.8.3djunit0.8.3djunit0.8.3
djunit_plugin_for_eclipse_4.7-4.18 Eclipse版本4.7的djUnit插件-4.18(2020-12) 当前版本0.9.0 蚀版本 代码名称 4.7 氧 4.8 光子 4.9 2018-09 4.10 2018-12 4.11 2019-03 4.12 2019-06 4.13 2019-...
Java CheckStyle 是一款非常重要的静态代码分析工具,主要用于...而`05_djUnit`可能涉及到的单元测试,则是软件开发过程中的另一个关键环节,用于验证代码的功能正确性。两者结合,能为Java项目提供全方位的质量保障。
hibernate二级缓存EHCache所需jar包
5. **DJUnit Task**:用于运行单元测试。 6. **Metrics Task**:用于收集代码质量指标。 7. **Jar Task**:用于打包成jar文件。 8. **Javadoc Task**:用于生成API文档。 **示例:** ```xml ${src.dir}" destdir=...