【ハウツー】

テストプラットフォーム「Gallio」を理解する - 導入編

1 .NETのテストフレームワーク(NUnit/csUnit)

    青木淳夫  [2008/11/19]

    本稿では、複数のテストフレームワークをまとめて実行することができる「Gallio」というオープンソースプロダクトについて紹介します。Gallioは、様々なテストフレームワークに対して中立的で独立したテスト環境を提供します。Gallioを利用すれば、1つの開発プロジェクト内で複数のテストフレームワークを採用したり、新しいテストフレームワークを積極的に導入したりできるようになります。前編にあたる今回は、.NET環境で動作するテストフレームワークの概要と、Gallioのインストール方法について解説します。後編では、ツール群の利用方法とGallioの動作について解説します。

    .NETで動作するユニットテストフレームワーク

    まず、.NET開発で利用できる主要なユニットテスト(単体テスト)フレームワークについて見ていきましょう。

    .NET開発で利用できる主要なテスティングフレームワーク

    名前 登場年 最新バージョン 特徴
    NUnit 2001 2.4.8 歴史が長く安定度も高い。オープンソースだが情報も多い
    csUnit 2001 2.5 開発が止まっていたが、2006年から開発を再開
    MbUnit 2004 3.0.4 データドリブン系機能の早期対応や拡張機能など独自性が高い
    MSTest 2005 VS2008 Visual Studioの上位エディションで利用可能。Visual Studioに統合された使いやすいUIに加え、MSDNのドキュメントも充実している
    xUnit.NET 2007 1.0.3 最も後発のフレームワーク。新しいコンセプトの元に開発が行われている

    それでは1つずつ紹介していきます。

    NUnit

    NUnitは.NETと同じくして登場したオープンソースのユニットテストフレームワークです。初期バージョンの1.xはJUnitの移植でしたが、現在の2.xバージョンでは、.NETに適した設計で実装されて開発が続けられています。Visual Studio 2003以前や、テスト機能の備わっていないVisual Studioでの開発に良く利用されます。

    NUnitの実行画面(GUIテストランナー)

    利用者も多く、信頼度の高いフレームワークです。最近では、記述しやすい「Assert.That(テスト値, Is.~(予想値))」アサーションや、行テスト/データソース指定などデータドリブンテスト向けの機能が追加されつつあります。

    csUnit

    csUnitは、NUnitと同様に長い歴史を持つテストフレームワークです。NUnitが人気を博したため、開発は停滞していましたが、2006年頃から開発が再開され、それからはコンスタントに更新/ダウンロードされています。Visual Studioのアドインウィンドウが提供されていることもあり、エディタから簡単にテストできるのが特徴です。

    csUnitの実行画面。csUnitのテストウィンドウを利用できる

    機能はシンプルですが、実行時間などの統計機能も備わっています。ただ、日本語環境では、うまく動作しないといった問題もありました(インストール先フォルダのen-USフォルダをja-JPという名前のフォルダとしてコピーすれば動作しました)。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン