コンテンツにスキップ

「ユニットテスト・フレームワーク一覧」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
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++パーサとジェネレータを利用する(PerlPythonが必要)。* グローバル関数のモックを生成するフレームワークを備えるが、オブジェクトのモックは生成しない。
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] HaskellQuickCheckに基づくコンビネータ・ライブラリのランダム・テスト(ファジング
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に関してJUnitNUnitでテストを行う。
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への極めて素直な移植。 注意: herehere.に記されているようにこのコードは既にメンテナンスされていない様子。
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] 初期にはスティーブン・フォウアスタインにより、JunitxUnitをモデルにしたオープンソース・ソフトウェアとしてPL/SQL向けに開発されていたユニットテスト・フレームワーク。
Quest Code Tester for Oracle [249] Quest SoftwareToadのメーカー)とスティーブン・フォウアスタインによる商用の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 PyUnitXML形式のレポート生成機能を追加。
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]
TPTen: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] 以下をテストする:
  • ネイティブな XML プログラム
  • XSLTの個々の テンプレート
  • XMLデータを取り扱うJavaプログラム
WUnit [306] 以下のようなWebアプリケーションをテストする:
  • テストがXML/XPath (XUnit)で記述されている
  • AJAXアプリケーションもサポート
  • Javaサーブレットとして作られたサーバーサイドの機能もテスト可能(例えば、HTTPリクエストを送信することなくユーザーセッションのサーバー側にきちんとオブジェクトを格納し、その後HTTPで取得するそのページの描画が可能)
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] アイデンティティ管理

関連項目

ユニット・テスト(単体テスト)一般:

ユニット・テストに対するエクストリーム・プログラミング手法:

その他の関連項目:

参考文献

  1. ^ Llopis, Noel. "Exploring the C++ Unit Testing Framework Jungle", 2004-12-28. Retrieved on 2010-2-13.
  2. ^ Rozental, Gennadiy "Boost Test Fixture Documentation". Retrieved on 2010-2-13.
  3. ^ Rozental, Gennadiy "Boost Test Test Suite Level Fixture Documentation". Retrieved on 2010-2-13.
  4. ^ TAP output can easily be transformed into JUnit XML via the CPAN module TAP::Formatter::JUnit.

外部リンク