`
yanghongxia9
  • 浏览: 115076 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Djunit

    博客分类:
  • java
 
阅读更多
使用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%
分享到:
评论

相关推荐

    eclipse用djunit插件包

    DJUnit是Eclipse集成开发环境中的一个插件,主要用于Java应用程序的单元测试。这个插件扩展了JUnit,使得开发者可以在Eclipse中更加便捷地进行基于DJ(Dynamic Java)的测试工作。DJUnit的名字来源于"Dynamic JUnit...

    djUnit的Eclipse插件及需要的jar包[.7z]

    djUnit 是一个专门为Java开发的单元测试框架,它扩展了JUnit,增加了对DJANGO(一个流行的Python Web框架)的支持。Eclipse 插件是开发者在IDE中集成 djUnit 的工具,使得编写、运行和调试测试更为便捷。这个压缩包...

    Eelipse插件-Djunit

    **Eclipse插件-Djunit详解** Djunit是由日本dgic公司开发的一款免费的Eclipse插件,专为Java开发者设计,旨在增强Eclipse的标准Junit测试框架功能。Djunit不仅支持基本的单元测试,还引入了VirtualMock技术,以帮助...

    Djunit安装包

    Djunit是一款专门为Eclipse集成开发环境设计的JUnit测试框架扩展。它允许开发者在Eclipse中方便地进行DJango项目的单元测试。DJunit的核心功能是将JUnit的测试框架与Django框架紧密结合,使得开发者能够在Eclipse...

    Djunit0.8.2

    《Djunit 0.8.2:Eclipse 插件测试框架的探索与实践》 Djunit,全称为"Djunit包",是一款专为Eclipse集成开发环境设计的单元测试框架,其版本号为0.8.2。这款工具的核心功能是帮助Java开发者在Eclipse环境下对JDT...

    djUnit0.8.4 for Eclipse 3.2

    关于Eclipse的djunit djUnitは、「テストされたコード」と「テストされていないコード」をレポート表示します。このレポートを参考にテスト不足を解消させることで、テストの品質が向上し、プログラムの品質が向上し...

    djunit0.8.3

    djunit0.8.3djunit0.8.3djunit0.8.3

    djunit_plugin_for_eclipse_4.7-4.18:Eclipse 4.7版的djUnit plusin-4.18(2020-12)

    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

    Java CheckStyle 是一款非常重要的静态代码分析工具,主要用于...而`05_djUnit`可能涉及到的单元测试,则是软件开发过程中的另一个关键环节,用于验证代码的功能正确性。两者结合,能为Java项目提供全方位的质量保障。

    日志测试包

    hibernate二级缓存EHCache所需jar包

    CruiseControl及ant配置

    5. **DJUnit Task**:用于运行单元测试。 6. **Metrics Task**:用于收集代码质量指标。 7. **Jar Task**:用于打包成jar文件。 8. **Javadoc Task**:用于生成API文档。 **示例:** ```xml ${src.dir}" destdir=...

Global site tag (gtag.js) - Google Analytics