写点什么

为 Java 和 Flex 编写 Mock 对象

  • 2009-07-11
  • 本文字数:1137 字

    阅读完需:约 4 分钟

近日 Mockito 框架发布了 1.8 rc2 版,InfoQ 有幸采访到了项目创建者 Szczepan Faber 以了解该版本的一些细节信息。

说明:尽管 1.8 最终版尚未发布,但 Szczepan 承诺最终版将与 1.8 RC2 差不多,随时都能发布。

InfoQ:1.8 版中有哪些令人期待的特性呢?

相对于之前的版本来说,1.8 版变化不大,但其中包含的一些便捷特性可以简化开发者的日常工作,其中就有一个 API 可以捕获方法参数以执行进一步的断言,这样我们就可以更高效地对方法参数进行验证了。 我们决定为桩 API 增加别名以与编写单元测试时所采取的行为驱动开发风格进行无缝集成。这意味着我们可以通过新的 given().willReturn() 桩别名轻松读取测试中的 //given //when //then 注释。

该版本的 Mockito 最终还添加了 Partial Mock 特性。就 Partial Mock 是否为一个必要的特性我们争论了很久,最终找到了其实际价值。大家可以通过 http://code.google.com/p/mockito/wiki/ReleaseNotes 查看完整的特性列表。

InfoQ:1.8 之后的路线图如何?

起初我觉得做到 Mockito 1.0 也就算完事了,然而新的想法和改进像潮水一样不断涌现出来,我们就继续投入到了新版本的开发中。这里不得不提的就是那些通过 mockito邮件列表提供反馈和建议的广大用户,衷心的感谢你们。想给某新特性起个名字不是件容易的事,当然了,我们还是会尽力保持 API 的简单性,同时还会继续根据用户反馈进行改进以保持 TDD 循环的快速性与平滑性。

InfoQ:最近你们创建了一个名为 Mockito for Flex 的新项目,这是 Mockito 的官方子项目么?

哦,不是,因为它采取的是完全不同的语言。我想你可以称其为官方拍档,因为 Krzysztof Karczmarczyk 和我一起实现了 mockito-flex。我想 Krzysztof 已经对 mockito-flex 主页上的信息进行了更新。

InfoQ:可否向我们介绍一些好资源以便大家能够快速上手 Mockito,同时还能充分利用 Mockito 提供的这么多特性?

关于 Mock 对象的任何介绍都将有助于概念的掌握。Brett Schuchert 编写了一个 Mockito教程。大家不仅可以从Javadocs 中了解到具体的特性介绍,还能找到所有的文档,包括代码示例。之所以将所有文档都放在Javadocs 中是因为我们想让文档与 mockito.org 网站上的介绍保持一致,同时开发者还能直接从 IDE 中查看所有文档,哪怕是在离线状态下,这很棒。 Mockito 类的那些 Javadocs 是个不错的起始点,大家可以通过这些文档来了解 Mockito 的各种特性。

当前 mockito-flex 的版本是 1.0,提供了如下功能

  • 支持对方法调用和属性访问的验证
  • 支持方法调用和属性访问桩
  • 支持基本的匹配器以及创建新匹配器的扩展 API
  • 集成了 flex unit
  • 基于 asmock-0.3(用于字节码生成和底层的执行处理)

最后,如果你还是个 Python 开发者,那么你可能会对 mockito-python 感兴趣。

查看英文原文: Mocking for Java and Flex

2009-07-11 22:411832
用户头像

发布了 88 篇内容, 共 263.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

新浪微博利益相关方分析(相关方问题)

🙈🙈🙈

极客大学产品经理训练营

最新Wordpress个人博客搭建教程:免费精美主题搭建个人博客

大佬sam

Wordpress 博客部署 2月春节不断更

产品中利益相关者面对的问题并排序

踏凌霄

第三章学习总结

Kalman

产品经理 产品经理训练营

第二章:产品思维和产品意识(下) - 作业 - 为云 g

Weiyung

开发质量提升系列:标准模板(下)

罗小龙

最佳实践 方法论 28天写作

week10 模块分解 作业和学习总结

杨斌

产品经理训练营第三次作业

Jobs

第三次作业

z

《未来科技趋势白皮书》概述解读

李忠良

28天写作

第三周总结

Jove

创业失败启示录|8分钟,50万,欢乐收场

阿萌

28天写作 创业失败启示录 2月春节不断更

利益相关者问题排序

Geek_ce1551

产品经理训练营第三周作业

克比

作业3

YING꯭YING

【LeetCode】BFS解决二叉树的最小深度

Albert

算法 LeetCode 2月春节不断更

week12 数据应用(一)

杨斌

解决方案的设计与积累

王一凡

产品经理训练营

第三周作业-利益相关者的问题及排序

隋泽

产品经理训练

图解Mysql索引的数据结构!看不懂你来找我

Java鱼仔

Java MySQL 数据库

第三章作业

Kalman

产品经理 产品经理训练营

第三周

Jove

产品经理训练营第三周作业

铭白

免费开源的代码审计工具Gosec入门使用

BigYoung

代码扫描 28天写作 2月春节不断更 代码审计 Go 语言

利益相关者排序

赵志广

产品经理训练营 网络安全产品经理

第三周作业

正午看星星

week11 安全稳定

杨斌

利益相关者问题挖掘

王一凡

产品经理训练营

OpenCV入门--读图,展示,保存

IT蜗壳-Tango

Python OpenCV 七日更 2月春节不断更

产品经理第 0 期训练营第三周作业提交-krystal

Krystal

第三周作业

苏格图德

产品经理训练营

为Java和Flex编写Mock对象_Java_Craig Wickesser_InfoQ精选文章