MbUnit
紹介する
MbUnitについて
他のユニットテストツール(NUnitおよびcsUnit)とは異なり、MbUnitの誕生は、新しいテストプロセスが既存のフレームワークに統合されるという簡単な構想から生じる.MbUnitは単純なテストモード(Simple Test Pattern)を採用し、TypeFixtureなどの新しいプロセスタイプを提供し、テストを特定のタイプインスタンス(instance)に適用することができる.
開発ステータス
*運用環境:Win 32(MS Windows)
*ターゲットユーザー:開発者、エンドユーザー/デスクトップ
*ライセンス契約:zlib/libpng License
*OS:Windows
*開発言語:.Net(C#)
*件名:libraries,testing
きのうとくせい
全体テストフレームワーク
NUnit、csUnitなどのテストプロセスを全面的に互換性があります.imports文を調整する以外は、他のコードを変更する必要はありません.
グラフィックインタフェースGUIとコンソールの2つの動作方式で、NAntタスク管理とNUnitAddInとVisual Studioの挿入モードをサポートします.
新しいテストプロセス:
TypeFixture:特定のタイプのインスタンス(インタフェーステストに非常に役立ちます);
EnumerationFixture:IEnumerable/I Enumeratorの実行状況をテストします.
OrderedCollectionFixture:コレクションの順序付けテスト;
ProcessFixture:複数のテストを実行します(シーケンスをテストします).
新しい補助テスト機能:繰り返しテスト、タイミングテスト、既存のテストの読み込み、マルチスレッドテストなど.
拡張性のあるfixtures定義ポリシー:MbUnitは、最初から進化する新しいfixturesとの統合をサポートするように設計されています.
支持するNet1.0と1.1です.
DotNetMockツールでサポートされています.
GUIと運転テスト
複数のテストファイルを読み込み、Reflectionナビゲーションバーでtest fixturesを解凍できます.
GUIをアクティブに保つために、すべてのテストを独立したスレッドで実行します.
カスタマイズ可能な進捗バー:成功、失敗、無視、not run count.
異常のブラウズ、コンソール結果出力、コンソールエラー出力.
IDE環境クラスアプリケーションはMagickライブラリを採用している.
埋め込まれたレポートメカニズム.
Visual Studio挿入技術をサポートする:コンポーネント、ネーミングスペース、またはfixtureを使用してテストファイルを選択し、NunitAddInを使用してVisual Studioで直接実行します.
NAntタスクをサポートします.
3.QuickGraph特性
QuickGraphは、C#で記述された汎用グラフィックライブラリであり、最初は別のライブラリから芽生えた(boost graph library).MbUnitではfixturesを作成および参照するために使用します.QuickGraphライブラリは、最短パス、最大ストリーム、ランダムウォークアルゴリズムなど、汎用的なグラフィックデータ構造と多くのアルゴリズムを呼び出します.
豊富なグラフィックコンセプト定義.
AdjacencyGraphとBidirectionalGraphをサポートします.
Filtered graphs,traversals:
深さ優先検索と広さ有限検索;トポロジーソート、強力な接続;Dijkstra最短経路;ランダムウォークとツリー生成アルゴリズム;最大フローアルゴリズム:Edmund KarpとPush Relabel;グラフィッククローン;類似度計算;グラフィック圧縮.
グラフィックの頂点とエッジをカスタマイズできます.
GraphMLまたは他のXML形式にシーケンス化できます.
Graphivz出力をサポートします.
NetronライブラリとWindowsフォーマットの統合.
4.結果出力
レポート生成器は、レポートを送信する前に、テスト結果をXMLにシーケンス化することができる.現在、以下の出力フォーマットがサポートされています.
XML
HTML
Text
インストール
インストール要件
インストール
Copy[MbUnitインストールディレクトリ][VSディレクトリ]
プロジェクトを作成するときに、必要なdllファイルを宣言し、classを使用します.重要なdllはMbUnit.Core.dll、MbUnit.Framework.dllなど.パッケージ内のMbUnit.GUI.exeなどのファイルは直接実行できます.
次の簡単な代表的な例が役に立つかもしれません.
使用方法
以下は、あなたの最初のMbUnit TestFixtureを作成する手順の説明です(NUnitとcsUnitのユーザーは、文法が同じであることに注意してください)
ステップ1:プロジェクトの作成
次の参照を追加します.
ステップ2:TestFixtureクラスの作成
新しいクラスMyFirstTestを作成し、ラベル属性をTestFixtureに設定します.従ってMbUnitというクラスには,行うべきテスト項目が含まれていることを伝える.
using MbUnit.Core.Framework;
using MbUnit.Framework;
[TestFixture("This is my first test")]
public class MyFirstTest
{
}
ステップ3:テストのメソッド(method)を追加
この時点で、MyFirstTestにはテスト文がありません.Method検証1+1=2を追加します.メソッドOnePlusOneEqualtwoを追加します.このメソッドでは、Assert静的ヘルプクラスで提供されている断定チェック文を使用できます.
[TestFixture("This is my first test")]
public class MyFirstTest
{
[Test]
public void OnePlusOneEqualTwo()
{
Assert.AreEqual(2, 1+1, "This is an error message");
}
}
メソッドOnePlusOneEqualtwoのプロパティは非常に重要です.
public void MethodName(void);
ステップ4:テストの実行
上記のコンポーネントのコンパイルが完了したら、MbUnit GUIインタフェースを起動し、dllファイルをドラッグ&ドロップするか、メニューを使用してテストコンポーネントをロードします.テストファイルツリー構造がウィンドウに表示されます.GUIは読み込まれたファイルをスキャンし、ラベル属性TestFixtureを検索し、ツリー構造を生成します.各ノードはネーミングスペースに対応します.
runをクリックしてテストを開始します.テストに成功すると、ツリー構造のアイコンと親コントロールのバックグラウンドは緑になり、テストに失敗するとバックグラウンドは赤になります.
実行失敗の詳細を検索するには、失敗したノードをクリックし、対応する例外を表示します.
2.クラスとインタフェース
MbUnitとQuickGraphの詳細なクラスとインタフェースの定義を表示するには、パッケージの2つのヘルプファイルを参照してください.
MbUnit.Documentation.chm
QuickGraph.Documentation.chm
詳細
MbUnitの取得:最新バージョンは2.20 betaで、マイクロソフトVS 2005のCodeSnippetsなどの新しい特性をサポートしています.以下のサイトから無料でダウンロードできます.
http://www.dotnetwiki.org/Default.aspx?tabid=52 .
関連リンク:
http://mbunit.tigris.org .
MbUnitへの参加:現在、MbUnitとQuickGraphにかかわらず、アルゴリズム作成者、GUIインタフェース設計とテスト担当者、ドキュメント作成者が必要です.私はもっと多くの優秀な人材がこの面白い仕事に参加することを望んでいます.
http://mbunit.tigris.org
http://blog.dotnetwiki.org/category/14.aspx
http://blog.dotnetwiki.org/archive/2004/04/27/168.aspx
http://blog.dotnetwiki.org/archive/2004/04/30/176.aspx
http://www.testdriven.com/modules/news/article.php?storyid=58
http://blog.dotnetwiki.org/archive/2004/05/19/241.aspx