BT

NUnit 2.5 がリリース

| 作者: Mark Levison フォローする 0 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2009年5月27日. 推定読書時間: 3 分 |

原文(投稿日:2009/5/8)へのリンク

バージョン番号は2.4.8からの小さな変化だが、NUnit 2.5にはたくさんの新機能があり、その作成に1年近くを要した。 コンサルタント でありNUnitの開発者でもあるCharlie Poole氏が作成した新機能のトップテンリストの抜粋である。

1. データ駆動テスト テストメソッドは引数を持てるがそのデータをいくつかの方法で与えられる、すなわちインライン、別メソッドから、あるいは別クラスから、更にはランダムにである。この機能により個々のテストケースを走らせる際に使われるテストデータ例のセットを簡潔に表現できる。

2. Theory これまでのデータ例ベースのテストの書き方ではプログラムをテストするのに使用する値の1つないしいくつかのセットを選ぶというものだったが、Theoryを使うとテストを1つ書けば記述された条件にあうデータはすべてテストコードに渡される、という一般化した記述ができるようになる。

3. インラインの期待された例外のテスト Assert.Throws アサーションメソッドとさらに強力なconstraintを使用したThrows.Exception, Throws.InstanceOfThrows.TypeOfの導入により例外テストのロジックを他の必要なアサーションと一緒にテストに組み込むことができる。

4. ジェネリックのサポート5. ラムダ式のサポート

6. 別プロセスでの実行とランタイムの選択 NUnit2.5ではAppDomainの分離手法を拡張してテストを1つないしいくつかの別プロセスで実行できるようになった。この分離の他に実行中のNUnitが使用している.NETランタイムと違うバージョンのランタイム下でテストを実行することもできる。

8. ソースコードの表示 GUI版の「Errors and Failures」タグのスタックトレース表示欄に問題が起きた箇所のソースコードを表示できるようになった。ただしソースコードがありデバッグモードでコンパイルされている必要がある。現在C#についてはシンタックスに色づけができる。

リリースノートにこれらの機能の更に詳しい説明と他の機能の記述がある。

Simone Busoli氏は、新しいconstraintモデルには表現力以上のものがある、と言っている。更に彼は新しいアサーションやアサーションをカスタマイズできるモディファイァが気に入っていて、特に「モディファイァがインラインメソッドを受けとるようにできることは2つのオブジェクトを比較して等しいか等しくないかを判定するためや固有のドメインでオブジェクトが等しいという意味をオーバライドしたい場合には極めて強力である。」と述べている。

Olof Bjarnason氏 は、新しいTimeout Attributeはループになるコードを開発している際には役立つ、と言っている。これまで誤って無限ループになってしまった時はNUnitプロセスを止めなければならなかった。今後はタイムアウトによりこのようなテストを中断できる。

さらにJamie Cansdale氏はTestDriven .NETの新しいバージョンをリリースした。これはVisual Studioの中でNUnit(と他のフレームワーク)を走らせることができるツールである。

Charlie Poole氏は、これからはもっと小さなリリースをもっと頻繁に行うやりかたに戻すと約束している。NUnit 3.0のロードマップ(pdf)ではwebサーバ上でテストを実行するWebランナを含んだいくつものテストランナをサポートすると約束している。テストエンジンレイヤには分散や並列にテスト実行する機能を加える予定で、テスト順序のランダム化やトランザクション的なテスト動作もできるようになる。

他の.NETユニットテストツールには次のようなものがある。MBunit, CSUnit, xUnit.Net, NBehave と Gallio -これはオープンかつ拡張性がありすべての.NETテストツールをサポートするように設計されたテストツールに中立なテストランナである。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT