NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

为 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:411736
用户头像

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

关注

评论

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

NullPointerException 的处理新方式,Java14 真的太香了!

xcbeyond

Java java 14 新特性 28天写作

产品训练营-第六课笔记

Geek_娴子

浅谈JavaScript常见的循环方式

devpoint

foreach for for...of

面试学习!月薪20k+的Android面试都问些什么?终获offer

欢喜学安卓

android 程序员 面试 移动开发

LeetCode题解:433. 最小基因变化,BFS+生成所有可能新基因再匹配,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

28天瞎写的第二百三十三天:唯工具论的错误

树上

28天写作

“复制”马斯克(三):我们要为他的“反智事业”买单吗?

脑极体

《破壁MySQL》 - MySQL索引

haxianhe

MySQL

mPaas上线应用检测

阿里云金融线TAM SRE专家服务团队

ios android RPC

webpack | 谈谈webpack的本质

梁龙先森

大前端 webpack 28天写作

CSS(九)——盒子的浮动与定位

程序员的时光

程序员 七日更 28天写作

管理笔记[2]:独裁者X与民主统治者Y

L3C老司机

架构师训练营第10周课后作业

万有引力

设计模式: 工厂模式

爱笑的小雨

设计模式 23种设计模式 Java设计模式

还不清楚Lambda的底层原理?一文帮你搞懂

后台技术汇

28天写作

外企时代已经过去?

李忠良

28天写作

开发质量提升系列:表字段名称引发的血案

罗小龙

代码规范 28天写作

批判性思维自修课(四)

石君

28天写作 批判性思维

阿里架构师集一生内力编撰的笔记,到底有什么干货?

Java架构师迁哥

项目管理知识标准体系

Ian哥

28天写作

年关将至

luojiahu

【Linux系统】关于守护进程

程序员架构进阶

Linux 架构 守护进程 28天写作

机器学习笔记之:虽然还没明白到底是在干嘛,但竟然还觉得挺有意思的!

Nydia

小产品、连接和生态

孙苏勇

产品 产品定位

如何做到超预期供应

熊斌

28天写作

我的电脑嘲讽我!

IT蜗壳-Tango

七日更

设计模式简单讲 - 适配器设计模式

小马哥

Java 设计模式 架构师 七日更

创业失败启示录|茶之玄学

阿萌

28天写作 创业失败启示录 青城

GameStop: 究竟发生了什么?

lidaobing

28天写作 逼空

《学会写作》学习笔记之如何选题

JiangX

28天写作

深入浅出Android!阿里P7深入Binder原理讲解,论程序员成长的正确姿势

欢喜学安卓

android 程序员 面试 移动开发

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