QUnit 1.11 发布:回顾与展望

发布日期 作者

本周早些时候,我们发布了 jQuery 的 JavaScript 单元测试解决方案 QUnit 的新版本。除了新版本的一些细节,我还想借此机会向大家介绍一下 QUnit,它的起源以及它的未来。 我同时希望获得您的意见,帮助我们塑造 JavaScript 测试的未来。

1.11 中的新增功能

最明显的变化(除了我们新的紫色 logo 外)是单个测试的运行时显示。以前,QUnit 会显示运行完整测试套件所花费的时间。现在它也会显示每个测试的单独时间,使您能够轻松地找出测试套件中的缓慢测试。由于让单元测试在几秒钟内完成非常有用,因此调整测试现在变得更加容易。

其他变化主要是对内置功能的错误修复以及对 附加组件 的各种改进。有一个 新的主题,对 PhantomJS 附加组件 进行全面检修以使用其 回调系统 等等。查看 变更日志 以获取所有更改的完整列表。

QUnit 的演变

与 jQuery UI 和 jQuery Mobile 不同,QUnit 没有对 jQuery 的代码依赖关系,只是恰好作为 jQuery 基金会项目开发的。这是怎么发生的?这一切都始于很久以前,但发生在一个离我们很近的星系。早在 2006 年,一个名叫 John 的人正在开发 jQuery,并且编写了自己的小型单元测试运行器,因为当时还没有太多可用的工具。两年后,John 和我意识到这个测试运行器可以作为独立工具使用,并且它被命名为 QUnit,作为 jQuery 和 JUnit 的混合。它与 jQuery 本身存在于同一个 SVN 存储库中,以及 jQuery wiki 上的一些页面。

在 2009 年,我们将其迁移到 它自己的 GitHub 存储库 并重写了 QUnit 以消除对 jQuery 的依赖。直到 2011 年 10 月,QUnit 只是在 master 分支中更新,没有版本化发布,这在某种程度上可行,但也导致了维护和依赖关系方面的问题。我最终标记了 1.0.0 版本,以及此后的定期发布。最近,QUnit 有了自己的 网站API 参考.

展望未来

如今,QUnit 不仅用于测试 jQuery Core、jQuery UI 和 jQuery Mobile,还用于许多其他项目。一个值得注意的例子是 Ember.js。那些家伙总是夸赞 QUnit 非常好,并强调它的可靠性。我们希望更多地了解开发人员如何使用 QUnit,因此如果您正在使用 QUnit(或计划使用),请花几分钟时间 完成这份简短的调查.

从我们迄今收到的约 50 个答案中可以明显看出,人们使用 QUnit 是因为它非常容易上手,我们当然也打算保持这种状态。同时也很明显,许多人正在寻找将 QUnit 集成到 CI 工具(如 Jenkins)中的工具和指南,这也是我们计划着手解决的问题。除此之外,还需要对 QUnit 代码库进行大量重构,目前它存在于单个 JS 文件(和一个姊妹 CSS 文件)中。我们正在 将代码库拆分成几个模块,这将有助于未来的维护并简化集成其他库的过程。这将使我们能够改进我们的差异实现,例如。

如果您有兴趣关注未来的 QUnit 更新,请 在 Twitter 上关注 @qunitjs 并关注 GitHub 上的项目.

评论已关闭。