BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GaGallioとMbUnit 3.0.6がリリース

GaGallioとMbUnit 3.0.6がリリース

GallioおよびMbUnitのバージョン3.06(サイト)がリリースされた。 Gallio(サイト)は自動化プラットフォームであり、「.NETのためのオープンで拡張性のある中立的なシステムであり、多くのテストフレームワークで利用できる共通オブジェクトモデルとランタイムサービスおよび(テストランナーなどの)ツールを提供する」。MbUnit(サイト)は.NETの有名なジェネレーティブ単体テストフレームワークだ。

MbUnitバージョン3.0.6は次の改善内容が取り込まれた。

  • Parallelizable
  • バージョン3.0.6では、MbUnitはマルチコアなCPUを最大限に活用することができる。テストに[Parallelizable]属性を付けることでそのテストは同じフィクスチャ内の他の並列可能なテストと並列に実行されるようになる。フィクスチャもまた並列実行可能と宣言することができ、他の並列実行可能なフィクスチャと並列に実行することができる。注意したいのは、もしあるフィクスチャ内のすべてのテストが並列可能にしたいとしても、それぞれに対して[Parallelizable]を追加する必要があることだ。(ユーザーのフィードバック次第でフィクスチャかアセンブリレベルにこの機能を追加するかもしれない。)もう一点注意したいのは、テストやフィクスチャは並列可能を印付けられただけで、確実に他のテストと並列に実行されるわけではない。MbUnitは効率性のため動作するスレッドの数を構成された並列数をもとに制限している。並列に実行するテストのインスタンス数を指定したい場合は[ThreadedRepeat]を使うことを検討しよう。
  • DegreeOfParallelism
  • この並列処理数の設定により、MbUnitが並列に動かそうとするテストの最大数を制御できる。デフォルトでは、並列処理数は使っているマシンのCPU数と同じか、最小値の2になる。
  • DefaultTestCaseTimeout(仕様変更)
  • MbUnitのv2と、v3の以前のバージョンでは未構成時のデフォルトのタイムアウトはテストフィクスチャあたり10分だった。このバージョンからは、テストケースあたり10分がデフォルトのタイムアウトになる。
  • 契約の検証 (仕様変更!)
  • 契約の検証は契約の実装が正しいことをテストするプロセスを単純にする。たとえば、カスタムの例外クラスをテストすることができるし、あるデータ型のEqualsとGetHashCodeの一貫性を検証できる。また、IListの不変条件を検証できる。この機能は最初MbUnitのv3.0.4で導入され、その後v3.0.5で書き換えられ、そしてYann Trevin氏によりv3.0.6で大幅に改善された!契約の検証にはカスタム属性の代わりに、最新バージョンではテストフィクスチャの中で読み取り専用のフィールドを使う。この変更により構文がより表現多彩になったが、古いスタイルでテストを書いていた方はそれらを修正する必要がある。詳細はContract Verifiers Chapter in Gallio Book(サイト)にあるドキュメントを参照のこと。
  • XMLデータソース
  • CSVデータソースはとても好評である。では、CSVのデータ行にメタデータを関連付けられることを知っているだろうか?"expected exception"のように。これは"[ExpectedException]"、"[Description]"などのメタデータを付けたヘッダー行を追加することで可能だ。v3.0.6では、XMLデータソースでも同じことができる。

Gallioの中核部分も次のような目立った改善があった。

  • 1クリックデバッグ
  • Icarusは"Debug"ボタンの1クリックだけでデバッガ上でテストを実行することができる。これはVisual Studioのデバッガーをテストプロセスにアタッチ(または起動)し、テストを開始させる。
  • 自動リロード、自動実行
  • Icarusはリコンパイル時の自動リロードとすべてのロードされたテストの自動実行をサポートしている。v3.0.6では、この機能をPreferenceから制御できる。将来のリリースではこの機能をツールバーから利用できるようになり、モードの即時切り替えを簡単にできるようになるだろう。
  • ReSharperとの統合
  • ReSharper v4.5ベータのサポートが追加になった。性能改善のため、リフレクションAPIのメモ化が追加された。

 

原文はこちらですhttp://www.infoq.com/news/2009/03/gallio_306

この記事に星をつける

おすすめ度
スタイル

BT