以下は様々なプログラミング言語のためのコード駆動型のユニット・テスト・フレームワークの一覧である。全てではないが、これらの幾つかはxUnitに基づいている。
表の各列の説明 (分類)
編集- 名前: この列はフレームワークの名前及び、Wikipedia内にその項目があればそれへのリンクを含む。
- xUnit: この列はフレームワークがxUnit型のフレームワークであるかどうかを示す。
- TAP: この列はフレームワークがTAP準拠のテスト・ハーネスを出力できるかどうかを示す。
- ジェネレータ: この列はフレームワークがデータ・ジェネレータをサポートするかどうかを示す。データ・ジェネレータはあるテストの入力データを自動的に生成し、生成した各データについてそのテストを実行する。
- フィクスチャ: この列はフレームワークがテスト毎のフィクスチャをサポートするかどうかを示す。テスト毎のフィクスチャは個々のテストに対して環境の設定が行えるようにする。
- グループ・フィクスチャ: この列はフレームワークがグループ・フィクスチャをサポートするかどうかを示す。グループ・フィクスチャは一群のテスト全体に対して環境の設定が行えるようにする。
- その他: その他の列はフレームワークが特定の言語や特定のツールの機能を利用している、または利用可能であることを示す。
- 備考: その他特記すべき事項。
言語別一覧
編集ABAP
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| ABAP Unit | Yes | [1] | SAP NetWeaver 2004以降。 |
ActionScript / Adobe Flex
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| FlexUnit | [2] | ||
| FlexUnit 4 | Yes | [3] | Flex 2,3 及び 4 と ActionScript 3 のプロジェクト向けのメタデータ駆動ユニットテスト。 |
| Reflex Unit | [4] | Flex 2及び3向けのメタデータ駆動ユニットテスト。 | |
| FUnit | Yes | [5] | Flex向けのメタデータ駆動ユニットテスト。 |
| ASTUce | Yes | [6] | ActionScript 3 (JS, AS1, AS2を含む)向けのユニットテスト、(OS X / Linux / Windowsでサポートされる)クロス・プラットフォーム実行可能ファイルをコマンドラインから実行することもできる。 |
| AsUnit | [7] | Flash Player 6, 7, 8, 9 及び 10 | |
| dpUInt | [8] | Flex 2及び3向けのユニット・テスト及び結合テスト・フレームワーク。 | |
| Fluint | [9] | Flex 2及び3向けのユニット・テスト及び結合テスト・フレームワーク。 | |
| mojotest | Yes | [10] | (開発中) ActionScript 3と Flash Player 10向けのユニット・テスト。 |
Ada
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| AUnit | [11] | ||
| AdaTEST 95 | [12] | ||
| Ahven | [13] | ||
| TBrun | [14] | ||
| VectorCAST/Ada | [15] |
AppleScript
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| ASUnit | Yes | [16] | AppleScript向けのテスト・フレームワークで、SUnit、ASTest及びPythonユニット・テストの影響を受けている。 |
| ASTest | Yes | [17] | AppleScript向けユニット・テスト・フレームワーク |
ASP
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| ASPUnit | [18] |
BPEL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| BPELUnit | [19] |
C
編集| 名前 | xUnit | フィクスチャ | グループ・フィクスチャ | ジェネレータ | ウェブサイト | 備考 |
|---|---|---|---|---|---|---|
| API Sanity Autotest | Yes | Yes (専用 データ型) |
Yes (専用 データ型) |
Yes | [20] | Unix類似オペレーティング・システムにおけるC/C++共有ライブラリのAPIのためのユニット・テスト・ジェネレータ。オープンソース。 |
| Automated Testing Framework | [21] | BSDライセンス。元々はNetBSDオペレーティング・システム向けに開発されたが、殆どのUnix類似プラットフォームで動作する。リリースの一部としてテストをインストールする能力がある。 | ||||
| Autounit (GNU) | [22] | 開発中ベータ版 | ||||
| C++test | Yes | Yes | Yes | Yes | [23] | 商用。ユニット・テスト生成・実行とともに業界標準的のコード・カバレージのレポート作成機能を含む自動ソフトウェア品質向上ソリューション。 |
| Cantata++ | Yes | [24] | 商用。テスト中のソフトウェアの関数呼び出しを修正する(例:mallocの返値を強制的にnull値にするエラー条件の実現)テスト・スクリプトの自動生成。 | |||
| Catsrunner | [25] | クロスプラットフォームな組み込み向け開発のためのユニット・テスト・フレームワーク | ||||
| cfix | Yes | [26] | Windowsでの開発(Win32とNTカーネルモードの両方)に特化している。WinUnitと互換性がある。 | |||
| Cgreen | [27] | モック・オブジェクトを含む | ||||
| Check | Yes | [28] | ||||
| Cmockery | Yes | [29] | Google がスポンサーになっている。 | |||
| CU | [30] | Cにおける自動テストのためのシンプルなテスト・フレームワーク | ||||
| CUnit | Yes | [31] | OS独立(Windows、Linux、Mac OS X、その他)。 | |||
| CUnitWin32 | Yes | [32] | Win32向け。ミニマリスト的フレームワーク。各テストは別プロセスで実行される。 | |||
| CUT | No | [33] | ||||
| CuTest | Yes | [34] | 単純で直観的。単一の.cファイルより成る。Apache Portable Runtime Libraryで利用されている。 | |||
| Cutter | Yes | [35] | C向けのユニット・テスト・フレームワーク | |||
| EmbeddedUnit | Yes | Yes | [36] | Embedded C向け | ||
| FCTX | Yes | [37] | 全てが1つのヘッダ・ファイルに納められた、高速で完全なユニット・テスト・フレームワーク。1ステップで宣言と関数の記述が可能。環境依存なし。クロス・プラットフォーム。 | |||
| GLib Testing | Yes | [38][リンク切れ] | GLibの一部。 | |||
| GUnit | [39] | GNOME用 | ||||
| LibU | Yes | No | [40] | BSDライセンス。マルチ・プラットフォーム(UNIX各種及びWindows)。テスト・ケース、テストスーツの明示。サンド・ボックスへの隔離と並列実行。xml、テキスト他、レポート形式のカスタマイズ可能。 | ||
| MinUnit | [41] | Cのプリプロセッサ・マクロ2つからなる極小のユニット・テスト・フレームワーク。 | ||||
| RCUNIT | Yes | [42] | ロバスト性の高いCユニット・テスト・フレームワーク | |||
| RTRT | [43] | |||||
| SeaTest | Yes | Yes | [44] | 単純で純粋にCで書かれたユニット・テスト・フレームワーク | ||
| Smarttester | [45] | 自動化されたユニット・テスト及び結合テストとコード・カバレッジ検査。 | ||||
| TBrun | [46] | 自動化されたユニット・テスト及び結合テストとコード・カバレッジ検査。 | ||||
| Tessy | [47] | 自動化されたユニット・テスト及び結合テストとコード・カバレッジ検査。 | ||||
| TestApe | [48] | テストとモックのフレームワーク。未解決の外部参照に対して自動的にデフォルト・モックを用意する。 | ||||
| Test Dept. | Yes | [49] | テスト中のソフトウェアの関数呼び出しを修正可能(例:mallocの返値を強制的にnull値にするエラー条件の実現)。ドキュメントが充実している。 | |||
| TPT | Yes | Yes | Yes | Yes | [50] | Time Partition Testing:組み込みシステム向け、モデル・ベースのユニット・テスト及び結合テストを自動化。 |
| Unity | Yes | Yes | [51] | 軽量かつ組み込み向けの機能を含む。CMock およびCExceptionのMockとExceptionを取り扱うことが可能。テスト構築環境Ceedlingとも統合可能。 | ||
| VectorCAST/C | No | Yes | Yes | Yes | [52] | 自動化されたユニット・テスト及び結合テストとコード・カバレッジ検査。 |
| Visual Assert | Yes | [53] | Visual Studio向けのユニット・テスト・アドイン。cfixテスト・フレームワークに基づく。 | |||
| xTests | [54] | STLSoft C & C++ Librariesに依存する。 |
C#
編集後述の .NETプログラミング言語 の節を参照。
C++
編集| 名前 | xUnit | フィクスチャ | グループ・フィクスチャ | ジェネレータ | モック | 例外 | マクロ | テンプレート | グループ化 | ウェブサイト | 備考 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Aeryn | No | Yes | Yes | No | No | Yes | Yes | Yes | Yes | [55] | |
| API Sanity Autotest | Yes | Yes (専用 データ型) |
Yes (専用 データ型) |
Yes | [56] | Unix類似オペレーティング・システムにおけるC/C++共有ライブラリのAPIのためのユニット・テスト・ジェネレータ。オープンソース。 | |||||
| ATF | Yes | Yes | Yes | Yes | [57] | BSDライセンス。元々はNetBSDオペレーティング・システム向けに開発されたが、殆どのUnix類似プラットフォームで動作する。リリースの一部としてテストをインストールする能力がある。 | |||||
| Boost Test Library | No[1] | Yes[2] | Yes[3] | Yes | No | Yes | ユーザの決定に従う | Yes | Suites | [58] | Boostの一部 |
| C++test | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | [59] | 商用。ユニット・テスト生成・実行とともに業界標準のコード・カバレージのレポート作成機能を含む自動ソフトウェア品質向上ソリューション。 |
| Cantata++ | Yes | No | No | No | Yes | Yes | Yes | [60] | 商用。テスト中のソフトウェアの関数呼び出しを修正が可能(例:強制的にnew演算の返値をnull値にしたり例外を発生させたりするエラー条件の実現)。 | ||
| CATCH | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | [61] | ヘッダ・ファイルのみからなり、外部に依存しない。記述したテストの自動登録、TDD向け及びBDD向け機能。 |
| cfix | Yes | Yes | No | No | No | Yes | Yes | No | [62] | Windowsでの開発(Win32とNTカーネルモードの両方)に特化している。WinUnitと互換性がある。 | |
| Cput | Yes | Yes | Yes | Yes | Yes | Yes | No | Suites | [63] | ユニット・テストを作成・実行するための、ライブラリ及びMS Visual Studio用アドイン。オープンソース | |
| CppTest | Yes | Yes | Suites | [64] | LGPLライセンスでリリースされている。 | ||||||
| CppUnit | Yes | Yes | Yes | No | No | Yes | Yes | No | Suites | [65] | |
| CppUTest | Yes | Yes | Yes | No | No | No | Yes | No | Suites | [66] | 利用の容易さ、及び組み込みプラットフォームで利用可能とするためC++の機能の利用を限定している。SymbianとIARに移植されている。 |
| CppUnitLite | Yes | No | No | No | Yes | No | Suites | [67] | |||
| CUTE | Yes | Yes | No | No | No | Yes | Suites | [68] | CUTE (C++ Unit Testing Easier)はEclipse CDTに組み込み可能。インクルード文一つだけで継承不要。 | ||
| cutee | No | No | No | Yes | [69] | ||||||
| CxxTest | Yes | Yes | Yes | No | Yes* | Optional | Yes | No | Suites | [70] | テスト登録のために簡易なC++パーサとジェネレータを利用する(PerlかPythonが必要)。* グローバル関数のモックを生成するフレームワークを備えるが、オブジェクトのモックは生成しない。 |
| FCTX | Yes | Yes | Yes | No | No | No | Yes | No | Yes | [71] | 全てが1つのヘッダ・ファイルに納められた、高速で完全なユニット・テスト・フレームワーク。1ステップで宣言と関数の記述が可能。環境依存なし。クロス・プラットフォーム。 |
| Fructose | No | Yes | No | No | No | Yes | Yes | Yes | No | [72] | 単純なユニット・テスト・フレームワーク。Accuを参照。 |
| Google C++ Mocking Framework | Yes | No | Yes | Yes | [73] | ||||||
| Google C++ Testing Framework | Yes | Yes | Yes | Yes | Yes | Yes | [74] | 自動テスト発見、豊富なアサーション、ユーザー定義のアサーション、deathテスト、致命的あるいは非致命的失敗、様々なテスト実行オプション、XML形式のテスト・レポート生成をサポートする。 | |||
| hestia | No | Yes | Yes | No | No | Yes | Yes | No | Suites | [75] | オープン・ソース。サーバ、ライブラリ、アプリケーション、さらには組み込みソフトウェアをもテスト可能。 |
| Igloo | Yes (Contexts) | No | No | No | Yes | Yes | Yes | Yes (nested contexts) | [76] | C++でBDDスタイルのユニット・テストを行う。 | |
| mock++/mockcpp | Yes | Yes | No | Yes | Yes | Yes | Yes | Suites | [77] | C++向けの簡単なテスト・フレームワーク(cmakeが必要)。 | |
| mockitopp | Yes | [78] | mockitoのC++実装 | ||||||||
| mockpp | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Suites | [79] | GoogleにホストされるC++のモック・フレームワーク。 | |
| NanoCppUnit | No | Yes | Yes | No | No | No | Yes | Yes | Suites | [80] | C++におけるTDDの概念実証コード。 |
| OAKUT | No | No | Yes | Yes (XML) | No | Yes | Yes | Yes | XML | [81] | 共有ライブラリ/DLLを使用する。 |
| QuickTest | No | No | No | No | No | Yes | Yes | Yes | No | [82] | |
| ShortCUT | No | Yes | [83] | ||||||||
| Symbian OS Unit | Yes | [84] | CxxTestに基づく。 | ||||||||
| TBrun | [85] | 商用。 | |||||||||
| Tessy | [86] | 商用。 | |||||||||
| TEST-DOG | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Suites | [87] | オープン・ソース。 |
| Test soon | No | Yes | Yes | Yes | No | 自動検出 | Yes | Yes | マクロ (名前空間) | [88] | マクロで組まれた複雑な論理構造(意図的なもの)。 |
| Testwell CTA++ | Yes | No | No | Yes | No | Yes | Yes | Yes | [89] | 商用。 | |
| TUT | No | No | Yes | No | No | Yes | Yes | Yes | Templates | [90] | テンプレートに基づく。自動テスト発見/登録、カスタマイズ可能なレポート生成プロセス、多様なテスト実行オプション。Windows CE上へ容易に適用可能。 |
| Unit++ | [91] | ||||||||||
| UnitTest | Yes | Yes | No | No | No | Yes | Yes | No | No | [92] | |
| UnitTest++ | No | Yes | Yes | No | Yes | Yes | Yes | Suites | [93] | フリーソフトウェア。単純さ、可搬性、速度、資源消費の少なさを特徴とする。 | |
| UquoniTest | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | [94] | 商用。テスト・ディレクトリ(再利用可能)を簡単に作成可能、アサーションを組み合わせるための豊富な論理演算、他の機能を有する。 |
| VectorCAST/C++ | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | [95] | 商用。自動化されたユニット・テスト及び結合テストとコード・カバレッジ検査 |
| Visual Assert | Yes | Yes | No | No | No | Yes | Yes | No | [96] | Visual Studio向けのユニット・テスト・アドイン。cfixテスト・フレームワークに基づく。 | |
| WinUnit | [97] | .NET開発者よりはC/C++向けに焦点を合わせている。 | |||||||||
| xTests | Yes | Yes | [98] | STLSoft C & C++ Librariesに依存。 | |||||||
| Yaktest | [99] | ||||||||||
| 名前 | xUnit | フィクスチャ | グループ・フィクスチャ | ジェネレータ | モック | 例外 | マクロ | テンプレート | グループ化 | ウェブサイト | 備考 |
Cg
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| UnitTestCg | No | [100] | ピクセル・シェーダー及びバーテックス・シェーダーをサポートする。 |
CFML (ColdFusion)
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| CFUnit | |||
| cfcUnit | Yes | ||
| MXUnit | Yes | CFMX向けユニット・テスト・フレームワークとEclipseプラグイン。 | |
| MockBox | No | CFMX向けモックとスタブのフレームワーク。 |
Clojure
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| Fact | Yes | [101] |
COBOL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| COBOLUnit (CBU) | Yes | [102] | |
| savvytest | No | [103] | IBMのメインフレーム・プラットフォーム上でテストのコンポーネントを編集・実行する商用ツール(フレームワークと言うよりはむしろツール) |
Common Lisp
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| CLUnit | [104] | ||
| CyberTiggyr Test | [105] | ||
| FiveAM | [106] | ||
| FReT | [107] | ||
| grand-prix | [108] | ||
| HEUTE | [109] | ||
| LIFT | [110] | ||
| lisp-unit | [111] | ||
| RT | [112] | ||
| stefil | [113] | ||
| XLUnit | [114] |
Curl
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| CurlUnit | [115] |
Delphi
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| DUnit | Yes | [116] |
Emacs Lisp
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| ElUnit | [117] | ||
| elk-test | No | [118] | |
| Unit-test.el | [119] | ||
| el-expectiong.el | [120] | ||
| cl-test-more.el | [121] | ||
| Ert | [122] |
Erlang
編集| 名前 | xUnit | フィクスチャ | グループ・フィクスチャ | ジェネレータ | ウェブサイト | 備考 |
|---|---|---|---|---|---|---|
| EUnit | Yes | Yes | Yes | Yes | [123] | ErlangのリリースR12B5以降に含まれる。 |
Fortran
編集| 名前 | xUnit | フィクスチャ | グループ・フィクスチャ | ジェネレータ | ウェブサイト | 備考 |
|---|---|---|---|---|---|---|
| FUnit | Yes | Yes | Yes | No | [124] | アサーション及び決まり文句等最小限の拡張をFortranに施し、Rubyで前処理してFortranコードを生成し、コンパイル・実行する。 |
| FRUIT | Yes | Yes | Yes | Yes | [125] | コードはFortran 95、ジェネレータはRubyで書かれている。 |
| Ftnunit | [126] | |||||
| pFUnit | [127] | |||||
| ObjexxFTK:UnitTest | [128] | ユーザはFortranのテストコードを書くだけで、Pythonスクリプトが自動的にすべてのテストを発見しFortranで記述されたテスト・ドライバを生成するので容易に利用可能。F77からF2003までをサポートする。アサーション・サポート及び文字列、配列など有用なライブラリ群が含まれる。 | ||||
| Lutin77 | [129] | FORTRAN77のユニットテストを実行する。大変軽量(コードは97行)でCコンパイラしか必要としない。 |
F#
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| FsCheck | No | [130] | HaskellのQuickCheckに基づくコンビネータ・ライブラリのランダム・テスト(ファジング) |
| FsTest | Yes | [131] | 言語指向プログラミングの仕様をF#で記述するためのドメイン固有言語。FsUnitの文法に基づくがxUnit.netは対象としない。 |
| NaturalSpec | No | [132] | 自然言語で仕様を記述するためのドメイン固有言語。NUnitに基づく。 |
| FsUnit | No | [133] | 仕様を記述するための自然な文法を備えたスタンドアローンなビヘイビア駆動開発フレームワーク。 |
| その他 | - | このページにある.NETプログラミング言語 の節も参照。 |
Groovy
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| easyb | [134] | BDD | |
| spock | [135] | BDD |
Genexus
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| GXUnit | Yes | [136] | Genexus向けのユニット・テスト実行のためのフレームワーク(プロトタイプ)。 |
Haskell
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| HUnit | Yes | [137] | |
| QuickCheck | [138] | QuickCheck |
HLSL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| UnitTestCg | No | [139] | ピクセル・シェーダー及びバーテックス・シェーダーをサポート。 |
ITT IDL
編集| 名前 | ウェブサイト | 備考 |
|---|---|---|
| MGunit | [140] | |
| 白書 | [141] | 白書のみ。フレームワークではない。 |
インターネット
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| HtmlUnit | [142] | Javaで書かれた簡易なブラウザ・エミュレータ。 | |
| Harness | [143] | スクリプト(キャプチャ&プレイバック)によるブラウザの自動操作、エビデンスの自動記録、レポート出力機能を搭載したテスト自動化ブラウザ。 | |
| HttpUnit | ウェブ・アプリケーションのテスト・フレームワークで、JUnitとともに用いられるのが典型的。 | ||
| IEUnit | [144] | IEブラウザとJavaScriptに基づくウェブ・アプリケーションのテスト・フレームワーク。 | |
| Canoo WebTest | [145] | ||
| Selenium | ウェブページをテストするため、殆どの現代的なウェブ・ブラウザでプレイバックを実行できるテスト・フレームワーク。 | ||
| SOAtest | [146] | 商用。ウェブページをテストするため、現代的なウェブ・ブラウザの挙動を記録し、プレイバックできるテスト・プラットフォーム。 |
Java
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| JTiger | |||
| SpryTest | Yes | [147] | Java向け自動ユニット・テスト・フレームワーク |
| Jtest | Yes | [148] | 商用。自動ソフトウェア品質向上ソリューション、ユニット・テスト生成、実行に加えて業界標準のコード・カバレージ・レポート機能を含む。 |
| AgitarOne | Yes | [149] | 商用。JUnit向けテストケース自動生成。 |
| JUnit | Yes | [150] | |
| JWalk | 高速、半自動で徹底的なユニット・テスト一式を生成。 | ||
| TestNG | Yes | 実際は結合テストフレームワークでユニット・テスト、機能テスト、結合テストを含む。 | |
| NUTester | [151] | Javaによるコンピュータ科学入門コースでの教育を支援するためにノース・イースタン大学で開発されたテスト・フレームワーク。 | |
| Concordion | [152] | 受け入れテスト駆動開発 | |
| JExample | Yes | [153] | テストケースの依存関係を利用してコードの複製を削減し失敗位置の特定性を改善するJUnitの拡張 |
| DbUnit | [154] | データベース駆動プログラムのユニット・テストのためのJUnitの拡張 | |
| JUnitEE | [155] | Jakarta EEアプリケーションのテストのためのJUnitの拡張。 | |
| Cactus | Jakarta EEアプリケーションとウェブ・アプリケーションのテストのためのJUnitの拡張。CactusのテストはJakarta EEのウェブ・コンテナ内で実行される。 | ||
| JSST | [156] | ApacheCactusと同様のアイディアに基づくが、Cactusとは異なりJUnit 3.xと密に結合しておらず、 どんなテスト・フレームワークとでも連携させて利用できる。 | |
| GroboUtils | [157] | 自動ドキュメント生成のためのJUnitの拡張。ユニット・テストのクラス階層、コード・カバレージ、マルチ・スレッド化されたテストについてドキュメントを自動的に生成。 | |
| Mockrunner | [158] | サーブレット、フィルタ、タグといったクラストとStrutsのアクション及びフォームのテストのためのJUnit拡張。 | |
| Unitils | [159] | 永続オブジェクトのレイヤーのテストを支援する一般的なユーティリティと機能、及びモック・オブジェクトを用いたテストを提供。特にJPA、hibernate及びspringを利用するアプリケーション・コードのテストをサポート。JUnit及びTestNGと連携する。 | |
| JBehave | [160] | ビヘイビア駆動開発。 | |
| Instinct | [161] | ビヘイビア駆動開発。 | |
| JDave | [162] | ビヘイビア駆動開発。 | |
| beanSpec | [163] | ビヘイビア駆動開発。 | |
| XMLUnit | [164] | XMLに関してJUnitやNUnitでテストを行う。 | |
| EasyMock | [165] | モック・フレームワーク。 | |
| JMock | [166] | モック・フレームワーク。 | |
| Mockito | [167] | Hamcrestライブラリを用いたモック・フレームワーク | |
| Mockachino | [168] | モック・フレームワーク |
JavaScript
編集| 名前 | xUnit | TAP | クライアント・サイド | サーバー・サイド | ウェブサイト | 備考 | |
|---|---|---|---|---|---|---|---|
| DOH | Yes | Yes | [169] | Dojo Objective Harnessはブラウザ内でも、Rhinoを利用してブラウザ無しでも実行できる。 | |||
| JSUnit | Yes | No | Yes | No | [170] | JSUnitはもはやメンテナンス活動がなされていない。 | |
| QUnit | Yes | Yes | [171] | jQuery用のテスト・ハーネス | |||
| Crosscheck | No | Yes | [172] | ブラウザを利用しないJavaベースのフレームワーク。 | |||
| J3Unit | Yes | No | [173] | ||||
| JSNUnit | Yes | No | [174] | ||||
| YUI Test | Yes | No | [175] | ||||
| JSSpec | Yes | No | [176] | ビヘイビア駆動開発 フレームワーク | |||
| UnitTesting | Yes | No | [177] | script.aculo.us用のjavascriptテスト・ハーネス。 | |||
| JSpec | Yes | Yes | [178] | 高度な可読性を備えるBDD、50以上の合致演算、DOM/フレームワーク独立、非同期、rhino、node.js他をサポート | |||
| Jasmine | Yes | Yes | [179] | BDD、フレームワーク独立、Rubyプロジェクト及び継続的インテグレーションと容易に連携。DOMなしでも非同期でもテスト可能。 | |||
| screw-unit | Yes | No | [180] | 要jQuery。 | |||
| Test.Simple | No[4] | Yes | Yes | No | [181] | TAP出力可能なユニットテストをJavaScriptで記述、ブラウザ上で実行可能 | |
| Test.More | No[1] | Yes | Yes | No | [182] | TAP出力可能なユニットテストをJavaScriptで記述し、ブラウザ上で実行可能 | |
| TestCase | Yes | No | [183] | ||||
| jsUnitTest | Yes | No | [184] | TestCaseに基づくが、Prototypeの依存性は含まない。 | |||
| JSTest | Yes | No | [185] | 軽量で出力を汚染しないブラウザ・ベースのフレームワーク。 | |||
| jsUnity | Yes | No | Yes | Yes | [186] | 実行環境に依存しない(JavaScript、JScript (ASP/WSH)、Rhino、その他) | |
| RhinoUnit | No | Yes | [187] | Rhinoに基づくフレームワーク、Antでテストを実行可能。 | |||
| JasUnit | Yes | No | Yes | No | [188] | 軽量フレームワーク。モック及びIoC(Inversion of Control、制御の反転)を提供するプロジェクトの一部。 | |
| FireUnit | Yes | No | [189] | ログを取り、Firebugの追加タブとしてログを表示できるテスト・フレームワーク。 | |||
| Js-test-driver | Yes | Yes | No | [190] | 継続的インテグレーション・システムと容易に連携でき、またTDDスタイルの開発のため複数のブラウザで実行できるJavaScriptテスト・ランナーの構築が目標。 | ||
| Sinon.js | (互換) | Yes | Yes | [191] | スタンドアローンでテストをStandalone test spies, stubs and mocks for JavaScript. 依存性がなく、任意のユニット・テスト・フレームワークと協調可能。 | ||
| SOAtest | No | Yes | No | [192] | 商用。静的な解析と機能検証の双方についてクライアント・サイドJavascriptをテストしながら多くの現代的なウェブ・ブラウザの挙動を記録しロールバックが実行できるテスト・プラットフォーム。 | ||
| Vows | No | Yes | [193] |
Lasso
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| L-Unit | [194] |
LaTeX
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| qsunit | [195] |
LabVIEW
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| LabVIEW Unit Test Framework | No | LabVIEWのVI向けテスト・ハーネスを自動生成。 | |
| VI Tester | Yes | [196] | xUnitフレームワークのLabVIEWネイティブでオブジェクト指向な実装。ユニット・テストはLabVIEWのVIとして記述。 |
Lua
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| LuaUnit | [197] | ||
| lunit | [198] |
MATLAB
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| mlUnit | Yes | [199] | |
| mlUnit_2008a | Yes | [200] | |
| Phelan's MUnit | [201] | コードはダウンロードから利用できず、ライセンスの追加的な制限事項はGPLに違反するように見え、このコードがライセンスされるかどうかは定かでない。 | |
| Lombardi's MUnit | [202] | xUnitに類似 | |
| MATLAB xUnit Test Framework | Yes | [203] | MATLAB r2008a以降(このリリースで導入されたOOP機能を利用している)。mtestから改称された。xUnit風のサブクラスとシンプルなMATLAB関数によるテストケースの双方を受け入れる。 |
MySQL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| utMySQL | Yes | [204] |
.NET programming languages
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| csUnit | Yes | GUI、コマンドライン、VS2005プラグインを含む。C#、VB.NET、マネージド C++、J#、その他.NET言語をサポート。.NET 3.5以前の版をサポート。ReSharperと統合されている。 | |
| NUnit | Yes | GUI、コマンドラインを含む。ReSharperと共にVisual Studioと統合されている。 | |
| NaturalSpec | No | [205] | 自然言語で仕様を記述するためのドメイン固有言語 NUnitに基づく。 |
| Visual T# | Yes | Visual T# はユニットテスト・フレームワークでありVisual Studioと統合された開発環境である。ユニットテストの意図を自然に表現できるプログラミング言語T#とそのためのコンパイル、実行、メンテナンスのツールを含む。 | |
| Visual Studio | No | Visual Studio Unit Testing Framework はVisual Studio Team System 2005以降に含まれ、Visual Studio IDEに統合されている。Visual Studio Standard Edition及びVisual Studio Express editionsには含まれない。 | |
| MSTest | No | Visual Studioで作成したユニット・テストをVisual Studio IDE外で実行するためのコマンドライン・ツール - 実際にはテスト・フレームワークではなくVisual Studio Unit Testing Framework の一部。 | |
| Gallio | [206] | 拡張可能、中立的なテスト自動化プラットフォームであり、任意の数のテスト・フレームワークから活用可能な共通オブジェクト・モデル、ランタイム・サービスやツールを提供する。 | |
| MbUnit | Yes | [207] | 拡張可能、モデル・ベースのNUnit互換なフレームワークであり、Gallio Test Automation Platformの一部。 |
| TestDriven.NET | [208] | ||
| .TEST | Yes | [209] | 商用。ユニット・テスト生成・実行とともに業界標準のコード・カバレージのレポート作成機能を含む自動ソフトウェア品質向上ソリューション。 |
| QuickUnit.net | No | [210] | コーディング抜きにユニットテストを実装。テスト駆動開発に対するミニマリスト的アプローチ。 |
| xUnit.net | Yes | [211] | |
| Specter | Yes | [212] | 仕様記述のための簡素で可読性の高い文法によるビヘイビア駆動開発。コマンド・ライン・ツールとオプショナルなNUnit連携ツールを含む。 |
| DbUnit.NET | [213] | データベース・アクセスのコード向けの.NET 2.0用ユニットテスト・フレームワーク | |
| NUnitAsp | NUnitに基づく。 | ||
| NMate | [214] | PartCoverコード・ジェネレータ、及びそれをNUnitとを統合するMicrosoft Visual Studio 2005/2008向けのアドイン。 | |
| Roaster | Yes | [215] | NUnitに基づく、フレームワークと.NET Compact Framework向けのツール。 |
| Pex | Yes | [216] | .NET向けにホワイトボックステストを提供するためのマイクロソフトリサーチのプロジェクトでユニットテストへの入力を生成するために(ファジングではなく)Z3 制約解消系を用いている。 |
| EMTF | No | [217] | |
| Typemock | Yes | [218] | 簡素なAPIとテストコード生成機能を備えた商用ユニットテスト・フレームワーク。 |
| Rhino Mocks | Yes | [219] | .NETプラットフォーム向けの動的モック・オブジェクトフレームワーク |
| Quality Gate One Studio | No | [220] | 商用(機能限定の無償版もあり)、ユニットテストとそれらのテスト・セース間の依存関係を解析する結合テストのためのテスト・フレームワーク。組み合わせテスト、マルチ・スレッド、時間依存をサポート。 |
Objective-C
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| CATCH | [221] | 現代的で全ての機能を備えたユニットテスト・フレームワークで外部依存性がない(全てがヘッダ・ファイル内で実装されている)。 | |
| Cedar | [222] | Objective-CでのBDD向け。OCHamcrestとOCMockを利用してBDDの機能を提供する。 | |
| iPhone Unit Testing | [223] | OCUnitに基づくユニットテスト・フレームワークでありiPhoneシミュレータ及び実機で動作する。 | |
| Kiwi | [224] | Objective-CでのRS風BDD向け、モックとスタブをサポートする。RSpecとほぼ同等のAPIを提供する。外部依存性がない。 | |
| ObjcUnit | [225] | ||
| OCUnit | [226] | ||
| WiteBox for iPhone | [227] | iPhone上でユニットテストを排他的に実現し、フィードバックの可視化、階層的な結果表示、テスト持続時間を提供。 | |
| WOTest | [228] |
OCaml
編集| 名前 | xUnit | TAP | ウェブサイト | 備考 |
|---|---|---|---|---|
| OUnit | [229] | JUnitベースのHUnitに基づいている。 | ||
| TestSimple | Yes | [230] | TAPを生成。 | |
| FORT | [231] |
Object Pascal (Free Pascal)
編集| 名前 | xUnit | TAP | ウェブサイト | 備考 |
|---|---|---|---|---|
| FPCUnit | Yes | No | [232] | JUnitフレームワークの中核部分をFree Pascalに移植したもの。 |
| Tap4Pascal | No | Yes | [233] | PascalにおけるTAPの実装。 |
PegaRULES Process Commander
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| PRUnit | Yes | [234] | PRPCにxUnit風テストを取り入れる。 |
Perl
編集| 名前 | xUnit | TAP | ウェブサイト | 備考 |
|---|---|---|---|---|
| TAP | N/A | Yes | [235] | Perlにおける殆どのテストでTAPのために利用される。 |
| Test::Harness | N/A | Yes | [236] | Perlにおける標準的なテスト・ランナーとTAPパーサ。 |
| Test::More | No | Yes | [237] | 基盤となるテスト・モジュールであり、現在では全てのPerlのインストールに含まれる。 |
| Test::Class | Yes | Yes | [238] | PerlにxUnit風テストを取り込む。 |
| Test::Builder | N/A | Yes | [239] | より多くのテスト・モジュールを作るためのモジュール。これらのモジュールは単一のテストプログラムへと結合できる。 |
| Test::Unit (a.k.a. PerlUnit) | Yes | No | [240] ([241]) | JUnitのPerlへの極めて素直な移植。 注意: here とhere.に記されているようにこのコードは既にメンテナンスされていない様子。 |
| Test::DBUnit | N/A | Yes | [242] | ホワイトボックステストとブラックボックステストのためのデータベース・テスト・モジュール。 |
| Test::Unit::Lite | Yes | Yes (via Test::Unit::HarnessUnit) | [243] | 幾つかのバグ修正と外部依性の除去がなされたTest::Unitの代替。 |
| Test::Able | Yes | Yes | [244] | MooseによるxUnit風テスト。 |
PHP
編集| 名前 | xUnit | TAP | ウェブサイト | 備考 |
|---|---|---|---|---|
| PHPUnit | Yes | Yes | [245] | |
| SimpleTest | Yes | No | [246] | |
| Testilence | Yes | No | [247] | |
| lime | No | Yes | [248] | symfonyのサブプロジェクト。 |
| Apache-Test | No | Yes | [249] | Test::More のPHP実装(test-more.php) Info 。 |
| ojes | No | No | [250] | 文書駆動テスト。 |
| SnapTest | Yes | Yes | [251] | |
| Atoum | Yes | Yes | [252] | PHP用の簡単、かつモダーンで分かりやすいユニットテスト・フレームワーク |
PL/SQL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| utPLSQL | Yes | [253] | 初期にはスティーブン・フォウアスタインにより、Junit と xUnitをモデルにしたオープンソース・ソフトウェアとしてPL/SQL向けに開発されていたユニットテスト・フレームワーク。 |
| Quest Code Tester for Oracle | [254] | Quest Software( Toadのメーカー)とスティーブン・フォウアスタインによる商用のPL/SQL向けテスト・ツール。 | |
| pl/unit | [255] | ||
| PL/SQL Unit Testing for Oracle (PLUTO) | Yes | [256] | JUnitを模したオープンソースのユニットテスト・フレームワークで、Oracle PL/SQLオブジェクト・システム上に構築されている。 |
| ruby-plsql-spec | [257] | Rubyのオープンソース・ライブラリを利用したPL/SQL手続き向けユニットテスト。 | |
| DBFit | [258] | DbFitはデータベースに対する直接的なFIT/FitNesseテストの実行を可能にするFITフィクスチャ。 |
PostgreSQL
編集| 名前 | xUnit | TAP | ウェブサイト | 備考 |
|---|---|---|---|---|
| Epic | [259] | EpicはPostgreSQLのストアド・プロシージャ向けのユニットテスト・フレームワーク。PG8.1以降が必要。 | ||
| pgTAP | Yes | Yes | [260] | テストをSQLかUnix風の関数のどちらかとして記述。 |
| PGtools | [261] | PostgrSQL向けのスキーマ・ロードとテストのためのツール。 | ||
| PGUnit | Yes | No | [262] | ストアド・プロシージャのためのxUnit風フレームワーク。 |
PowerBuilder
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| PBUnit | [263] |
Progress 4GL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| proUnit | Yes | [264] | Progress OpenEdge手続きおよびオブジェクト向けのxUnit風フレームワーク |
Prolog
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| PlUnit | [265] |
Python
編集| 名前 | xUnit | ジェネレータ | フィクスチャ | グループ・フィクスチャ | ウェブサイト | 備考 |
|---|---|---|---|---|---|---|
| PyUnit | Yes | Yes | Yes | No | Pythonの標準ライブラリの一部。 | |
| XPyUnit | PyUnitにXML形式のレポート生成機能を追加。 | |||||
| TestOOB | PyUnitを拡張するテスト・フレームワーク。 | |||||
| Doctest | 利用容易、, Python的、Pythonの標準ライブラリの一部。 | |||||
| Nose | Yes | Yes | [266] | 識別子のパターン・マッチに拠る自動発見を行うユニット・テスト拡張。 | ||
| py.test | Yes | Yes | Yes | Yes | [267] | 分散テストツール。 |
| TwistedTrial | Yes | Yes | Yes | No | [268] | 非同期及びイベント駆動コードのためのPyUnitの拡張。 |
R
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| RUnit | No | [269] | オープン・ソース |
| testthat | No | [270] | オープン・ソース |
REALbasic
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| RBUnit | No | [271] |
Rebol
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| Runit | [272] |
RPG
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| RPGUnit | Yes | [273] |
Ruby
編集| 名前 | xUnit | ウェブサイト | 備考 | |
|---|---|---|---|---|
| Test::Unit | Yes | [274] | ||
| RSpec | [275] | ビヘイビア駆動開発フレームワーク | ||
| Shoulda | [276] | |||
| microtest | ||||
| Bacon |
SAS
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| FUTS | Yes | [277] | SAS向けユニットテスト・フレームワーク。 |
| SCLUnit | Yes | [278] | SAS向けxUnitユニットテスト・フレームワークのSAS/AF実装。 |
Scala
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| Rehearsal | [279] | JMock同様に例外や自然言語によるテスト名を備える。 | |
| ScUnit | [280] | JUnit風のテストで、フィクスチャ・メソッドの注入とアサーションのためのマッチャーを備える。 | |
| specs | [281] | ビヘイビア駆動開発 | |
| ScalaCheck | [282] | QuickCheckに類似。 | |
| specs2 | [283] | ビヘイビア駆動開発 | |
| ScalaTest | [284] |
Scheme
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| SchemeUnit | Yes | [285] |
シェル
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| assert.sh | [286] | LGPLライセンス。軽量。 | |
| ATF | [287] | BSDライセンス。元来はNetBSDオペレーティング・システム向けに開発されたが、殆どのUnix系プラットフォームで動作する。リリースの一部としてテストをインストールする機能がある。 | |
| Roundup | No | [288] | |
| ShUnit | Yes | [289] | |
| shUnit2 | Yes | [290] | 元々は log4sh向けに開発された。 |
| filterunit | [291] | フィルタ、その他のコマンドライン・プログラムのためのテスト・フレームワーク。 | |
| Tap-functions | [292] | TAPを生成するBASHのライブラリ。 |
Simulink
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| slUnit | [293] | ||
| TPT(en:Time Partition Testing) | Yes | [294] | インターフェースの解析、テストフレーム生成、テスト実行、テスト結果の調査、レポート出力を自動化。 |
Smalltalk
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| SUnit | Yes | xUnitの設計の原型。 |
SQL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| SQLUnit | [295] | ||
| DbFit | [296] | FitNesseのテストをDBに対し直接実行できるテスト・フィクスチャ一式。 |
TargetLink
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| TPT | [297] | タイム・パーティション・テスト(en:Wikipedia:Time Partition Testing): 解析インターフェース、テストフレームの生成、テスト実行、テスト評価、報告が自動化されている。 |
Tcl
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| tcltest | [298] |
TinyOS/nesC
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| TUnit | Yes | [299] | 組み込みマルチ・プラットフォーム無線のテストとパワー解析 |
Transact-SQL
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| TSQLUnit | Yes | [300] | |
| utTSQL | Yes | [301] | |
| Visual Studio Team Edition for Database Professionals | [302] | ||
| T.S.T. | [303] |
Visual FoxPro
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| FoxUnit | [304] |
Visual Basic (VB6)
編集For unit testing frameworks for VB.NET, see the .NET programming languages section.
| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| vbUnit | [305] | Visual Basic and COM objects | |
| vbUnitFree | [306] | Visual BasicとCOMオブジェクト | |
| VbaUnit | [307] | Visual Basic for Applications | |
| ExcelVbaUnit | [308] | VbaUnitに類似するが、Excel VBAに限定されている(Excelのアドインとして作成されている。)。 | |
| TinyUnit | [309] | Visual Basic 6、VB .NET及びPHP5 | |
| SimplyVBUnit | Yes | [310] | Visual Basic 6のユニットテスト・フレームワークで.NET向けのNUnitを模している。 |
Visual Lisp
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| vl-unit | [311] | Visual Lisp向けのユニットテスト・フレームワーク。 |
XML
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| XUnit | [312] | 以下をテストする: | |
| WUnit | [313] | 以下のようなWebアプリケーションをテストする:
| |
| SOAtest | No | [314] | 商用。Parasoft社製。セキュアで信頼性が高く標準に準拠したビジネスプロセス実現のための完全なソフトウェア・ライフサイクル品質管理プラットフォーム。 |
| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| AntUnit | [315] | Apache Antのタスクに対するユニットテスト。 |
XSLT
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| juxy | [316] | XSLTスタイルシート向けユニットテストをJavaから行う。 | |
| Tennison Tests | [317] | XMLでユニットテストを記述可能とし、Apache AntからXSLTを実行する。継続的インテグレーション環境に組み込まれる場合は、ビルドの一部として複数のXSLTテストが実行でき、不具合がある場合はきちんとビルドが失敗する。 | |
| UTF-X | [318] | 徹すとの表示・検証機能によってテスト・ファースト設計原則を強力にサポートするXSLT向けユニットテスト・フレームワーク。 | |
| XSLTunit | [319] | XSLT向けユニットテスト・フレームワークの概念実証コード。 |
その他
編集| 名前 | xUnit | ウェブサイト | 備考 |
|---|---|---|---|
| Test Manager | [320] | ||
| IdMUnit | Yes | [321] | アイデンティティ管理 |
脚注
編集- ^ Llopis, Noel. "Exploring the C++ Unit Testing Framework Jungle", 2004-12-28. Retrieved on 2010-2-13.
- ^ Rozental, Gennadiy "Boost Test Fixture Documentation". Retrieved on 2010-2-13.
- ^ Rozental, Gennadiy "Boost Test Test Suite Level Fixture Documentation". Retrieved on 2010-2-13.
- ^ TAP output can easily be transformed into JUnit XML via the CPAN module TAP::Formatter::JUnit.
関連項目
編集ユニット・テスト(単体テスト)一般:
ユニット・テストに対するエクストリーム・プログラミング手法:
その他の関連項目: