关于

QUnit 是一个功能强大、易于使用的 JavaScript 测试框架。它最初是为 jQuery 项目开发的,并且已经发展成为许多现代 JavaScript 库和应用程序的依赖项,包括成为 Ember.js 生态系统的默认测试框架。

理念

QUnit 作为测试框架的理念可以归结为三个主要原则:简单通用可扩展

简单

QUnit 应该从始至终易于使用。设置第一个测试应该非常简单,需要尽可能少的开销。然后,在开发过程中,当测试或断言失败时,QUnit 应该尽快向您提供反馈,并提供足够的详细信息,以便您快速找出根本问题。并且它应该在不中断或破坏其他测试的情况下做到这一点。

此外,QUnit 应该速度很快,以便开发人员可以轻松地确信将测试放在关键路径上不会减慢他们的速度。

通用

QUnit 应该普遍适用于测试 JavaScript 代码,并支持许多不同的环境。JavaScript 可以在浏览器、工作线程和服务器上运行,因此 QUnit 也应该如此,以便您可以在代码运行的相同环境中测试代码;您需要确信它在该环境中工作。

可扩展

QUnit 应该具有明确的观点,并拥有精简的 API 来支持易用性,同时又高度可扩展。测试有很多不同的方法,用户可能想要编写许多不同类型的测试,虽然我们无法开箱即用地支持所有这些方法,但我们可以支持 API 来使社区能够扩展 QUnit 以满足他们的需求。

团队

从 API 设计、功能实现、票证分类、错误修复到其他所有工作,QUnit 都需要付出很多努力,所有这些工作都是由志愿者完成的。虽然我们重视所有贡献者,但有一些贡献者经常贡献,为项目提供高级指导,并负责项目的整体维护,我们将在下面表彰他们。

有关贡献者的完整列表,请参阅 作者列表

Timo Tijhof - 项目负责人

Timo 是 维基媒体基金会 的高级工程师,他也是 架构委员会 的成员,该委员会是一个技术委员会,负责管理维基媒体软件项目的完整性和稳定性。他从 2011 年开始为 jQuery 基金会项目做贡献,于 2012 年加入 QUnit 团队,并在 2020 年年中成为项目负责人。

Richard Gibson

Richard 是美国新罕布什尔州 Dyn 的架构师。他从 2011 年开始为 jQuery 基金会项目做贡献(从 2012 年开始为 QUnit 做贡献),并且活跃于许多开源代码库中。

Trent Willis

Trent 是加利福尼亚州洛斯加托斯 Netflix 的高级 UI 工程师。他从 2015 年开始为 QUnit 做贡献,并于 2017 年初至 2020 年年中担任项目负责人。

Jörn Zaefferer

Jörn 是德国科隆的自由职业网页开发人员、顾问和培训师。Jörn 将 jQuery 的测试套件发展成了 QUnit,并担任项目负责人直至 2015 年年中。他创建并维护了许多流行的插件。作为 jQuery UI 的开发负责人,他专注于开发新的插件、小部件和实用程序。

以前的团队成员

历史

QUnit 最初由 John Resig 作为 jQuery 的一部分开发。2008 年,它有了自己的主页、名称和 API 文档,允许其他人也将其用于单元测试。当时它仍然依赖于 jQuery。2009 年的一次重写解决了这个问题,从那时起 QUnit 就成为了一个独立的项目。

QUnit 的断言方法遵循 CommonJS 单元测试 规范(该规范反过来也受到 QUnit 本身的启发),并且已经扩展到包括更多种类的断言。