QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

Wireshark数据包分析学习笔记Day26

穿过生命散发芬芳

Wireshark 数据包分析 4月日更

华仔架构设计-模块1作业

大师兄

给视频添加雪花飘落特效

老猿Python

OpenCV 音视频 图形图像处理 视频特效 引航计划

架构实战营 模块一作业

Dylan

架构实战营

架构实战营 模块一 作业

Pitt

区块链技术解决信任问题

CECBC

信任 信任机制

业务架构训练营第 0 期模块一作业

菠萝吹雪—Code

微信业务架构

Fleng

架构实战营

架构实战营 模块1 课后作业

Keyto

架构实战营 模块一作业

ercjul

架构实战营

业务架构:微信与学生管理系统

我不是坏人

Python系列:初遇python

Bob

Python 编程 4月日更

换工作需要做哪些准备

zhou

职业规划

CLOSE_WAIT过多导致Jetty服务器假死

风翱

Java Jetty Web 4月日更

博文推荐|多图详解 Apache Pulsar 消息存储模型

Apache Pulsar

大数据 开源 流计算 Apache Pulsar 消息系统

复兴or幻象?VR的2021三重门

脑极体

架构实战营 模块一 课后作业

Lingjun

架构实战营

软件架构设计分层模型和构图思考

xcbeyond

方法论 分层架构 架构设计 4月日更

vue接入腾讯实时音视频trtc-js-sdk的技术难点与解决方案

孙叫兽

Vue 音视频 解决方案 trtc-js-sdk

模块一作业

鲲哥

架构师实战营 模块一作业 微信业务架构图

好吃不贵

常用正则表达式整理【总结】

孙叫兽

正则表达式 大前端 正则

有哪些可以提高代码质量的书籍推荐?

JavaGuide

Java 架构 计算机基础 重构 代码质量

区块链技术引领新一轮技术变革浪潮

CECBC

【粉丝需求】如何把一个前端网页都搞下来?

孙叫兽

大前端

Redis 6.0 多线程、客户端缓存、权限控制

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

如何让使命、愿景、价值观落地

石云升

价值观 使命 愿景 28天写作 4月日更

模块1作业

王硕

架构实战营

架构实战营 模块一 总结

Pitt

作业1-20210406

Geek_b437fc

区块链技术,通证经济未来趋势,两者有什么关系?

CECBC

区块链

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