QUnitは、強力で使いやすいJavaScriptテストフレームワークです。jQueryプロジェクトのために最初に開発され、その後、多くの最新のJavaScriptライブラリやアプリケーションの依存関係となり、Ember.jsエコシステムのデフォルトのテストフレームワークにもなっています。
哲学
テストフレームワークとしてのQUnitの哲学は、容易さ、普遍性、拡張性の3つの主要な柱に集約されます。
容易さ
QUnitは、最初から最後まで使いやすくなっている必要があります。最初のテストの設定は非常にシンプルで、可能な限りオーバーヘッドを少なくする必要があります。開発中にテストやアサーションが失敗した場合、QUnitはできるだけ早くフィードバックを提供し、根本的な問題を迅速に特定できるだけの詳細情報を提供する必要があります。そして、それは他のテストを中断したり、破損したりすることなく行われるべきです。
さらに、QUnitは高速であるべきであり、開発者がテストをクリティカルパスに配置しても速度が低下しないという確信を持つことができるようにする必要があります。
普遍性
QUnitは、JavaScriptコードのテストに普遍的に適用可能であり、多くの異なる環境をサポートする必要があります。JavaScriptは、ブラウザ、ワーカスレッド、サーバー上で実行できるため、QUnitもコードが実行されるのと同じ環境(動作を確認する必要がある環境)でテストできる必要があります。
拡張性
QUnitは、使いやすさをサポートする無駄のないAPIで意見のあるものにする必要がありますが、同時に高度に拡張可能である必要があります。テストには多くの異なるアプローチがあり、ユーザーが記述したいテストの種類もたくさんあります。私たちはこれらすべてをすぐにサポートすることはできませんが、コミュニティがニーズを満たすためにQUnitを拡張できるようにするAPIをサポートできます。
チーム
API設計、機能実装、チケットの選別、バグ修正、その他すべてにおいて、QUnitには多くの作業があり、それらはすべてボランティアによって行われています。私たちはすべての貢献者を高く評価していますが、頻繁に貢献し、プロジェクトの方向性を示し、全体的な保守を担当している貢献者が数名おり、以下でそれらを紹介します。
貢献者の完全なリストについては、作者リストを参照してください。
Timo Tijhof - プロジェクトリーダー
TimoはWikimedia Foundationのシニアエンジニアであり、Wikimediaソフトウェアプロジェクトの整合性と安定性を管理する技術委員会であるアーキテクチャ委員会に所属しています。彼は2011年からjQuery Foundationプロジェクトに貢献しており、2012年にQUnitチームに参加し、2020年半ばにプロジェクトリーダーになりました。
Richard Gibson
Richardは、米国ニューハンプシャー州のDynのアーキテクトです。彼は2011年からjQuery Foundationプロジェクト(2012年からQUnit)に貢献しており、多くのオープンソースリポジトリで見ることができます。
Trent Willis
Trentは、カリフォルニア州ロスガトスのNetflixのシニアUIエンジニアです。彼は2015年からQUnitに貢献しており、2017年初頭から2020年半ばまでプロジェクトリーダーを務めました。
Jörn Zaefferer
Jörnは、ドイツのケルン在住のフリーランスのWeb開発者、コンサルタント、トレーナーです。JörnはjQueryのテストスイートをQUnitに発展させ、2015年半ばまでプロジェクトリーダーを務めました。彼は多くの一般的なプラグインを作成および保守しています。jQuery UI開発リードとして、新しいプラグイン、ウィジェット、ユーティリティの開発に注力しています。
過去のチームメンバー
歴史
QUnitは当初、John ResigによってjQueryの一部として開発されました。2008年に独自のホームページ、名前、APIドキュメントが提供され、他の人もユニットテストに使用できるようになりました。当時はまだjQueryに依存していました。2009年の書き直しにより、その依存関係が解消され、QUnitはそれ以来独立したプロジェクトとなっています。
QUnitのアサーションメソッドはCommonJS Unit Testing仕様(これはQUnit自体に影響を受けています)に従っており、その後、より多様なアサーションが含まれるように拡張されています。