「ユニットテスト・フレームワーク一覧」の版間の差分
表示
削除された内容 追加された内容
from en:List Of Unit Testing Frameworks 18:57, 23 January 2011 UTC |
(相違点なし)
|
2011年1月26日 (水) 14:13時点における版
以下は様々なプログラミング言語のためのコード駆動型のユニット・テスト・フレームワークの一覧である。全てではないが、これらの幾つかは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 | [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++ | [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] |
Erlang
名前 | xUnit | フィクスチャ | グループ・フィクスチャ | ジェネレータ | ホームページ | 備考 |
---|---|---|---|---|---|---|
EUnit | Yes | Yes | Yes | Yes | [120] | ErlangのリリースR12B5以降に含まれる。 |
Fortran
名前 | xUnit | フィクスチャ | グループ・フィクスチャ | ジェネレータ | ホームページ | 備考 |
---|---|---|---|---|---|---|
FUnit | Yes | Yes | Yes | No | [121] | アサーション及び決まり文句等最小限の拡張をFortranに施し、Rubyで前処理してFortranコードを生成し、コンパイル・実行する。 |
FRUIT | Yes | Yes | Yes | Yes | [122] | コードはFortran 95、ジェネレータはRubyで書かれている。 |
Ftnunit | [123] | |||||
pFUnit | [124] | |||||
ObjexxFTK:UnitTest | [125] | ユーザはFortranのテストコードを書くだけで、Pythonスクリプトが自動的にすべてのテストを発見しFortranで記述されたテスト・ドライバを生成するので容易に利用可能。F77からF2003までをサポートする。アサーション・サポート及び文字列、配列など有用なライブラリ群が含まれる。 | ||||
Lutin77 | [126] | FORTRAN77のユニットテストを実行する。大変軽量(コードは97行)でCコンパイラしか必要としない。 |
F#
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
FsCheck | No | [127] | HaskellのQuickCheckに基づくコンビネータ・ライブラリのランダム・テスト(ファジング) |
FsTest | Yes | [128] | 言語指向プログラミングの仕様をF#で記述するためのドメイン固有言語。FsUnitの文法に基づくがxUnit.netは対象としない。 |
NaturalSpec | No | [129] | 自然言語で仕様を記述するためのドメイン固有言語。NUnitに基づく。 |
FsUnit | No | [130] | 仕様を記述するための自然な文法を備えたスタンドアローンなビヘイビア駆動開発フレームワーク。 |
その他 | - | このページにある.NETプログラミング言語 の節も参照。 |
Groovy
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
easyb | [131] | BDD |
Genexus
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
GXUnit | Yes | [132] | Genexus向けのユニット・テスト実行のためのフレームワーク(プロトタイプ)。 |
Haskell
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
HUnit | Yes | [133] | |
QuickCheck | [134] | QuickCheck |
HLSL
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
UnitTestCg | No | [135] | ピクセル・シェーダー及びバーテックス・シェーダーをサポート。 |
ITT IDL
名前 | ホームページ | 備考 |
---|---|---|
MGunit | [136] | |
白書 | [137] | 白書のみ。フレームワークではない。 |
インターネット
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
HtmlUnit | [138] | Javaで書かれた簡易なブラウザ・エミュレータ。 | |
HttpUnit | ウェブ・アプリケーションのテスト・フレームワークで、JUnitとともに用いられるのが典型的。 | ||
IEUnit | [139] | IEブラウザとJavaScriptに基づくウェブ・アプリケーションのテスト・フレームワーク。 | |
Canoo WebTest | [140] | ||
Selenium | ウェブページをテストするため、殆どの現代的なウェブ・ブラウザでプレイバックを実行できるテスト・フレームワーク。 | ||
SOAtest | [141] | 商用。ウェブページをテストするため、現代的なウェブ・ブラウザの挙動を記録し、プレイバックできるテスト・プラットフォーム。 |
Java
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
JTiger | |||
SpryTest | Yes | [142] | Java向け自動ユニット・テスト・フレームワーク |
Jtest | Yes | [143] | 商用。自動ソフトウェア品質向上ソリューション、ユニット・テスト生成、実行に加えて業界標準のコード・カバレージ・レポート機能を含む。 |
JUnit | Yes | [144] | |
JWalk | 高速、半自動で徹底的なユニット・テスト一式を生成。 | ||
TestNG | Yes | 実際は結合テストフレームワークでユニット・テスト、機能テスト、結合テストを含む。 | |
NUTester | [145] | Javaによるコンピュータ科学入門コースでの教育を支援するためにノース・イースタン大学で開発されたテスト・フレームワーク。 | |
Concordion | [146] | 受け入れテスト駆動開発 | |
JExample | Yes | [147] | テストケースの依存関係を利用してコードの複製を削減し失敗位置の特定性を改善するJUnitの拡張 |
DbUnit | [148] | データベース駆動プログラムのユニット・テストのためのJUnitの拡張 | |
JUnitEE | [149] | Java EEアプリケーションのテストのためのJUnitの拡張。 | |
Cactus | Java EEアプリケーションとウェブ・アプリケーションのテストのためのJUnitの拡張。CactusのテストはJava EEのウェブ・コンテナ内で実行される。 | ||
JSST | [150] | ApacheCactusと同様のアイディアに基づくが、Cactusとは異なりJUnit 3.xと密に結合しておらず、 どんなテスト・フレームワークとでも連携させて利用できる。 | |
GroboUtils | [151] | 自動ドキュメント生成のためのJUnitの拡張。ユニット・テストのクラス階層、コード・カバレージ、マルチ・スレッド化されたテストについてドキュメントを自動的に生成。 | |
Mockrunner | [152] | サーブレット、フィルタ、タグといったクラストとStrutsのアクション及びフォームのテストのためのJUnit拡張。 | |
Unitils | [153] | 永続オブジェクトのレイヤーのテストを支援する一般的なユーティリティと機能、及びモック・オブジェクトを用いたテストを提供。特にJPA、hibernate及びspringを利用するアプリケーション・コードのテストをサポート。JUnit及びTestNGと連携する。 | |
JBehave | [154] | ビヘイビア駆動開発。 | |
Instinct | [155] | ビヘイビア駆動開発。 | |
JDave | [156] | ビヘイビア駆動開発。 | |
beanSpec | [157] | ビヘイビア駆動開発。 | |
XMLUnit | [158] | XMLに関してJUnitやNUnitでテストを行う。 | |
EasyMock | [159] | モック・フレームワーク。 | |
JMock | [160] | モック・フレームワーク。 | |
Mockito | [161] | Hamcrestライブラリを用いたモック・フレームワーク | |
Mockachino | [162] | モック・フレームワーク |
JavaScript
名前 | xUnit | TAP | クライアント・サイド | サーバー・サイド | ホームページ | 備考 | |
---|---|---|---|---|---|---|---|
DOH | Yes | Yes | [163] | Dojo Objective Harnessはブラウザ内でも、Rhinoを利用してブラウザ無しでも実行できる。 | |||
JSUnit | Yes | No | Yes | No | [164] | JSUnitはもはやメンテナンス活動がなされていない。 | |
QUnit | Yes | Yes | [165] | jQuery用のテスト・ハーネス | |||
Crosscheck | No | Yes | [166] | ブラウザを利用しないJavaベースのフレームワーク。 | |||
J3Unit | Yes | No | [167] | ||||
JSNUnit | Yes | No | [168] | ||||
YUI Test | Yes | No | [169] | ||||
JSSpec | Yes | No | [170] | ビヘイビア駆動開発 フレームワーク | |||
UnitTesting | Yes | No | [171] | script.aculo.us用のjavascriptテスト・ハーネス。 | |||
JSpec | Yes | Yes | [172] | 高度な可読性を備えるBDD、50以上の合致演算、DOM/フレームワーク独立、非同期、rhino、node.js他をサポート | |||
Jasmine | Yes | Yes | [173] | BDD、フレームワーク独立、Rubyプロジェクト及び継続的インテグレーションと容易に連携。DOMなしでも非同期でもテスト可能。 | |||
screw-unit | Yes | No | [174] | 要jQuery。 | |||
Test.Simple | No[4] | Yes | Yes | No | [175] | TAP出力可能なユニットテストをJavaScriptで記述、ブラウザ上で実行可能 | |
Test.More | No[1] | Yes | Yes | No | [176] | TAP出力可能なユニットテストをJavaScriptで記述し、ブラウザ上で実行可能 | |
TestCase | Yes | No | [177] | ||||
jsUnitTest | Yes | No | [178] | TestCaseに基づくが、Prototypeの依存性は含まない。 | |||
JSTest | Yes | No | [179] | 軽量で出力を汚染しないブラウザ・ベースのフレームワーク。 | |||
jsUnity | Yes | No | Yes | Yes | [180] | 実行環境に依存しない(JavaScript、JScript (ASP/WSH)、Rhino、その他) | |
RhinoUnit | No | Yes | [181] | Rhinoに基づくフレームワーク、Antでテストを実行可能。 | |||
JasUnit | Yes | No | Yes | No | [182] | 軽量フレームワーク。モック及びIoC(Inversion of Control、制御の反転)を提供するプロジェクトの一部。 | |
FireUnit | Yes | No | [183] | ログを取り、Firebugの追加タブとしてログを表示できるテスト・フレームワーク。 | |||
Js-test-driver | Yes | Yes | No | [184] | 継続的インテグレーション・システムと容易に連携でき、またTDDスタイルの開発のため複数のブラウザで実行できるJavaScriptテスト・ランナーの構築が目標。 | ||
Sinon.js | (互換) | Yes | Yes | [185] | スタンドアローンでテストをStandalone test spies, stubs and mocks for JavaScript. 依存性がなく、任意のユニット・テスト・フレームワークと協調可能。 | ||
SOAtest | No | Yes | No | [186] | 商用。静的な解析と機能検証の双方についてクライアント・サイドJavascriptをテストしながら多くの現代的なウェブ・ブラウザの挙動を記録しロールバックが実行できるテスト・プラットフォーム。 | ||
Vows | No | Yes | [187] |
Lasso
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
L-Unit | [188] |
LaTeX
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
qsunit | [189] |
LabVIEW
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
LabVIEW Unit Test Framework | No | LabVIEWのVI向けテスト・ハーネスを自動生成。 | |
VI Tester | Yes | [190] | xUnitフレームワークのLabVIEWネイティブでオブジェクト指向な実装。ユニット・テストはLabVIEWのVIとして記述。 |
LISP
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
FiveAM | [191] | ||
LIFT | [192] | ||
lisp-unit | [193] |
Lua
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
LuaUnit | [194] | ||
lunit | [195] |
MATLAB
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
mlUnit | Yes | [196] | |
mlUnit_2008a | Yes | [197] | |
Phelan's MUnit | [198] | コードはダウンロードから利用できず、ライセンスの追加的な制限事項はGPLに違反するように見え、このコードがライセンスされるかどうかは定かでない。 | |
Lombardi's MUnit | [199] | xUnitに類似 | |
MATLAB xUnit Test Framework | Yes | [200] | MATLAB r2008a以降(このリリースで導入されたOOP機能を利用している)。mtestから改称された。xUnit風のサブクラスとシンプルなMATLAB関数によるテストケースの双方を受け入れる。 |
MySQL
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
utMySQL | Yes | [201] |
.NET programming languages
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
csUnit | Yes | GUI、コマンドライン、VS2005プラグインを含む。C#、VB.NET、マネージド C++、J#、その他.NET言語をサポート。.NET 3.5以前の版をサポート。ReSharperと統合されている。 | |
NUnit | Yes | GUI、コマンドラインを含む。ReSharperと共にVisualStudioと統合されている。 | |
NaturalSpec | No | [202] | 自然言語で仕様を記述するためのドメイン固有言語 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 | [203] | 拡張可能、中立的なテスト自動化プラットフォームであり、任意の数のテスト・フレームワークから活用可能な共通オブジェクト・モデル、ランタイム・サービスやツールを提供する。 | |
MbUnit | Yes | [204] | 拡張可能、モデル・ベースのNUnit互換なフレームワークであり、Gallio Test Automation Platformの一部。 |
TestDriven.NET | [205] | ||
.TEST | Yes | [206] | 商用。ユニット・テスト生成・実行とともに業界標準のコード・カバレージのレポート作成機能を含む自動ソフトウェア品質向上ソリューション。 |
QuickUnit.net | No | [207] | コーディング抜きにユニットテストを実装。テスト駆動開発に対するミニマリスト的アプローチ。 |
xUnit.net | Yes | [208] | |
Specter | Yes | [209] | 仕様記述のための簡素で可読性の高い文法によるビヘイビア駆動開発。コマンド・ライン・ツールとオプショナルなNUnit連携ツールを含む。 |
DbUnit.NET | [210] | データベース・アクセスのコード向けの.NET 2.0用ユニットテスト・フレームワーク | |
NUnitAsp | NUnitに基づく。 | ||
NMate | [211] | PartCoverコード・ジェネレータ、及びそれをNUnitとを統合するMicrosoft Visual Studio 2005/2008向けのアドイン。 | |
Roaster | Yes | [212] | NUnitに基づく、フレームワークと.NET Compact Framework向けのツール。 |
Pex | Yes | [213] | .NET向けにホワイトボックステストを提供するためのMicrosoft Researchのプロジェクトでユニットテストへの入力を生成するために(ファジングではなく)Z3 制約解消系を用いている。 |
EMTF | No | [214] | |
Typemock | Yes | [215] | 簡素なAPIとテストコード生成機能を備えた商用ユニットテスト・フレームワーク。 |
Rhino Mocks | Yes | [216] | .NETプラットフォーム向けの動的モック・オブジェクトフレームワーク |
Quality Gate One Studio | No | [217] | 商用(機能限定の無償版もあり)、ユニットテストとそれらのテスト・セース間の依存関係を解析する結合テストのためのテスト・フレームワーク。組み合わせテスト、マルチ・スレッド、時間依存をサポート。 |
Objective-C
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
CATCH | [218] | 現代的で全ての機能を備えたユニットテスト・フレームワークで外部依存性がない(全てがヘッダ・ファイル内で実装されている)。 | |
Cedar | [219] | Objective-CでのBDD向け。 | |
iPhone Unit Testing | [220] | OCUnitに基づくユニットテスト・フレームワークでありiPhoneシミュレータ及び実機で動作する。 | |
Kiwi | [221] | Objective-CでのRS風BDD向け、モックとスタブをサポートする。 | |
ObjcUnit | [222] | ||
OCUnit | [223] | ||
WiteBox for iPhone | [224] | iPhone上でユニットテストを排他的に実現し、フィードバックの可視化、階層的な結果表示、テスト持続時間を提供。 | |
WOTest | [225] |
Ocaml
名前 | xUnit | TAP | ホームページ | 備考 |
---|---|---|---|---|
OUnit | [226] | JUnitベースのHUnitに基づいている。 | ||
TestSimple | Yes | [227] | TAPを生成。 | |
FORT | [228] |
Object Pascal (Free Pascal)
名前 | xUnit | TAP | ホームページ | 備考 |
---|---|---|---|---|
FPCUnit | Yes | No | [229] | JUnitフレームワークの中核部分をFree Pascalに移植したもの。 |
Tap4Pascal | No | Yes | [230] | PascalにおけるTAPの実装。 |
PegaRULES Process Commander
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
PRUnit | Yes | [http://prunit.sourceforge.net/ | PRPCにxUnit風テストを取り入れる。 |
Perl
名前 | xUnit | TAP | ホームページ | 備考 |
---|---|---|---|---|
TAP | N/A | Yes | [231] | Perlにおける殆どのテストでTAPのために利用される。 |
Test::Harness | N/A | Yes | [232] | Perlにおける標準的なテスト・ランナーとTAPパーサ。 |
Test::More | No | Yes | [233] | 基盤となるテスト・モジュールであり、現在では全てのPerlのインストールに含まれる。 |
Test::Class | Yes | Yes | [234] | PerlにxUnit風テストを取り込む。 |
Test::Builder | N/A | Yes | [235] | より多くのテスト・モジュールを作るためのモジュール。これらのモジュールは単一のテストプログラムへと結合できる。 |
Test::Unit (a.k.a. PerlUnit) | Yes | No | [236] ([237]) | JUnitのPerlへの極めて素直な移植。 注意: here とhere.に記されているようにこのコードは既にメンテナンスされていない様子。 |
Test::DBUnit | N/A | Yes | [238] | ホワイトボックステストとブラックボックステストのためのデータベース・テスト・モジュール。 |
Test::Unit::Lite | Yes | Yes (via Test::Unit::HarnessUnit) | [239] | 幾つかのバグ修正と外部依性の除去がなされたTest::Unitの代替。 |
Test::Able | Yes | Yes | [240] | MooseによるxUnit風テスト。 |
PHP
名前 | xUnit | TAP | ホームページ | 備考 |
---|---|---|---|---|
PHPUnit | Yes | Yes | [241] | |
SimpleTest | Yes | No | [242] | |
Testilence | Yes | No | [243] | |
lime | No | Yes | [244] | symfonyのサブプロジェクト。 |
Apache-Test | No | Yes | [245] | Test::More のPHP実装(test-more.php) Info 。 |
ojes | No | No | [246] | 文書駆動テスト。 |
SnapTest | Yes | Yes | [247] |
PL/SQL
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
utPLSQL | Yes | [248] | 初期にはスティーブン・フォウアスタインにより、Junit と xUnitをモデルにしたオープンソース・ソフトウェアとしてPL/SQL向けに開発されていたユニットテスト・フレームワーク。 |
Quest Code Tester for Oracle | [249] | Quest Software( Toadのメーカー)とスティーブン・フォウアスタインによる商用のPL/SQL向けテスト・ツール。 | |
pl/unit | [250] | ||
PL/SQL Unit Testing for Oracle (PLUTO) | Yes | [251] | JUnitを模したオープンソースのユニットテスト・フレームワークで、Oracle PL/SQLオブジェクト・システム上に構築されている。 |
ruby-plsql-spec | [252] | Rubyのオープンソース・ライブラリを利用したPL/SQL手続き向けユニットテスト。 | |
DBFit | [253] | DbFitはデータベースに対する直接的なFIT/FitNesseテストの実行を可能にするFITフィクスチャ。 |
PostgreSQL
名前 | xUnit | TAP | ホームページ | 備考 |
---|---|---|---|---|
Epic | [254] | EpicはPostgreSQLのストアド・プロシージャ向けのユニットテスト・フレームワーク。PG8.1以降が必要。 | ||
pgTAP | Yes | Yes | [255] | テストをSQLかUnix風の関数のどちらかとして記述。 |
PGtools | [256] | PostgrSQL向けのスキーマ・ロードとテストのためのツール。 | ||
PGUnit | Yes | No | [257] | ストアド・プロシージャのためのxUnit風フレームワーク。 |
PowerBuilder
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
PBUnit | [258] |
Progress 4GL
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
proUnit | Yes | [259] | Progress OpenEdge手続きおよびオブジェクト向けのxUnit風フレームワーク |
Prolog
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
PlUnit | [260] |
Python
名前 | xUnit | ジェネレータ | フィクスチャ | グループ・フィクスチャ | ホームページ | 備考 |
---|---|---|---|---|---|---|
PyUnit | Yes | Yes | Yes | No | Pythonの標準ライブラリの一部。 | |
XPyUnit | PyUnitにXML形式のレポート生成機能を追加。 | |||||
TestOOB | PyUnitを拡張するテスト・フレームワーク。 | |||||
Doctest | 利用容易、, Python的、Pythonの標準ライブラリの一部。 | |||||
Nose | Yes | Yes | [261] | 識別子のパターン・マッチに拠る自動発見を行うユニット・テスト拡張。 | ||
py.test | Yes | Yes | Yes | Yes | [262] | 分散テストツール。 |
TwistedTrial | Yes | Yes | Yes | No | [263] | 非同期及びイベント駆動コードのためのPyUnitの拡張。 |
R programming language
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
RUnit | No | [264] | オープン・ソース |
testthat | No | [265] | オープン・ソース |
REALbasic
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
RBUnit | No | [266] |
Rebol
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
Runit | [267] |
RPG
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
RPGUnit | Yes | [268] |
Ruby
名前 | xUnit | ホームページ | 備考 | |
---|---|---|---|---|
Test::Unit | Yes | [269] | ||
RSpec | [270] | ビヘイビア駆動開発フレームワーク | ||
Shoulda | [271] | |||
microtest | ||||
Bacon |
SAS
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
FUTS | Yes | [272] | SAS向けユニットテスト・フレームワーク。 |
SCLUnit | Yes | [273] | SAS向けxUnitユニットテスト・フレームワークのSAS/AF実装。 |
Scala
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
Rehearsal | [274] | JMock同様に例外や自然言語によるテスト名を備える。 | |
ScUnit | [275] | JUnit風のテストで、フィクスチャ・メソッドの注入とアサーションのためのマッチャーを備える。 | |
specs | [276] | ビヘイビア駆動開発 | |
ScalaCheck | [277] | QuickCheckに類似。 |
Scheme
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
SchemeUnit | Yes | [278] |
シェル
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
assert.sh | [279] | LGPLライセンス。軽量。 | |
ATF | [280] | BSDライセンス。元来はNetBSDオペレーティング・システム向けに開発されたが、殆どのUnix系プラットフォームで動作する。リリースの一部としてテストをインストールする機能がある。 | |
Roundup | No | [281] | |
ShUnit | Yes | [282] | |
shUnit2 | Yes | [283] | 元々は log4sh向けに開発された。 |
filterunit | [284] | フィルタ、その他のコマンドライン・プログラムのためのテスト・フレームワーク。 | |
Tap-functions | [285] | TAPを生成するBASHのライブラリ。 |
Simulink
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
slUnit | [286] | ||
TPT(en:Wikipedia:Time Partition Testing) | Yes | [287] | インターフェースの解析、テストフレーム生成、テスト実行、テスト結果の調査、レポート出力を自動化。 |
Smalltalk
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
SUnit | Yes | xUnitの設計の原型。 |
SQL
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
SQLUnit | [288] | ||
DbFit | [289] | FitNesseのテストをDBに対し直接実行できるテスト・フィクスチャ一式。 |
TargetLink
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
TPT | [290] | タイム・パーティション・テスト(en:Wikipedia:Time Partition Testing): 解析インターフェース、テストフレームの生成、テスト実行、テスト評価、報告が自動化されている。 |
Tcl
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
tcltest | [291] |
TinyOS/nesC
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
TUnit | Yes | [292] | 組み込みマルチ・プラットフォーム無線のテストとパワー解析 |
Transact-SQL
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
TSQLUnit | Yes | [293] | |
utTSQL | Yes | [294] | |
Visual Studio Team Edition for Database Professionals | [295] | ||
T.S.T. | [296] |
Visual FoxPro
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
FoxUnit | [297] |
Visual Basic (VB6)
For unit testing frameworks for VB.NET, see the .NET programming languages section.
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
vbUnit | [298] | Visual Basic and COM objects | |
vbUnitFree | [299] | Visual BasicとCOMオブジェクト | |
VbaUnit | [300] | Visual Basic for Applications | |
ExcelVbaUnit | [301] | VbaUnitに類似するが、Excel VBAに限定されている(Excelのアドインとして作成されている。)。 | |
TinyUnit | [302] | Visual Basic 6、VB .NET及びPHP5 | |
SimplyVBUnit | Yes | [303] | Visual Basic 6のユニットテスト・フレームワークで.NET向けのNUnitを模している。 |
Visual Lisp
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
vl-unit | [304] | Visual Lisp向けのユニットテスト・フレームワーク。 |
XML
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
XUnit | [305] | 以下をテストする: | |
WUnit | [306] | 以下のようなWebアプリケーションをテストする:
| |
SOAtest | No | [307] | 商用。Parasoft社製。セキュアで信頼性が高く標準に準拠したビジネスプロセス実現のための完全なソフトウェア・ライフサイクル品質管理プラットフォーム。 |
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
AntUnit | [308] | Apache Antのタスクに対するユニットテスト。 |
XSLT
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
juxy | [309] | XSLTスタイルシート向けユニットテストをJavaから行う。 | |
Tennison Tests | [310] | XMLでユニットテストを記述可能とし、Apache Ant.からXSLTを実行する。継続的インテグレーション環境に組み込まれる場合は、ビルドの一部として複数のXSLTテストが実行でき、不具合がある場合はきちんとビルドが失敗する。 | |
UTF-X | [311] | 徹すとの表示・検証機能によってテスト・ファースト設計原則を強力にサポートするXSLT向けユニットテスト・フレームワーク。 | |
XSLTunit | [312] | XSLT向けユニットテスト・フレームワークの概念実証コード。 |
その他
名前 | xUnit | ホームページ | 備考 |
---|---|---|---|
Test Manager | [313] | ||
IdMUnit | Yes | [314] | アイデンティティ管理 |
関連項目
ユニット・テスト(単体テスト)一般:
ユニット・テストに対するエクストリーム・プログラミング手法:
その他の関連項目:
参考文献
- ^ 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.