返回介绍

JUnit 你不知道的那些事儿

发布于 2025-01-22 00:38:53 字数 1666 浏览 0 评论 0 收藏 0

话说有一次 Eric Gamma 坐飞机的时候偶遇 Kent Beck(对,就是极限编程和 TDD 的发起人) , 两位大牛见面寒暄过以后就觉得很无聊了。

旅途漫漫,干点啥好呢。

Kent Beck 当时力推测试驱动开发, 但是没有一个工具或者框架能让大家轻松愉快的写测试,并且自动的运行测试。

两人勾兑了一下:不如自己挽起袖子写一个, 于是两人就在飞机上结对编程 , 等到飞机的时候,一个划时代的单元测试工具就新鲜出炉了,这就是 JUnit:

JUnit 当然是用 Java 写的, 其他语言一看, 这东西好, 咱也搞一套, 于是就有了一大批工具,统称 xUnit

NUnit (针对.Net 平台) , CUnit (针对 C 语言) , CppUnit(针对 C++语言), PyUnit (针对 Python), PHPUnit, OCUnit, DUnit, JSUnit ......

超级大牛出马,亲自敲出来的代码自然非同凡响, 它的设计简直就是使用设计模式的典范:

更牛的是, 他们是以一种叫做“模式生成架构”的方法来创建 JUnit 的, 换句话说,就是从零应用模式, 然后一个接一个, 直到你获取最终的系统架构:

我第一次看到这种方式, 真是惊为天人, 我知道代码要向模式进行重构, 还从来没听过由模式来构建系统!

但一想到 Eric Gamma 的背景, 就没有什么可惊讶的了, 因为 Eric Gamma 实际上是划时代的书籍《设计模式:可复用面向对象软件基础》四位合著者(称为 GoF,Gang of Four)之一

这本书的经典地位就不用说了, 像 JUnit 繁衍出来的 xUnit 一样, 这本书也有很多的“繁衍品”, 例如

《Head First Degisn Pattern》 , 《设计模式解析》,《大话设计模式》。。。。

JUnit 超级流行,几乎是事实上的 Java 单元测试和 TDD 的工具标准, 有人选择了 GitHub 上最热的三门语言 Java,Ruby 和 Javascript , 对每个语言分析了 1000 个项目,找出了最常用的组件,可以看到 JUnit 以 30.7%并列第一

所以 JUnit 已经变成了程序员必备的技能, 不会 JUnit 就太 Out 了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文