連載
» 2007年09月14日 00時00分 公開

連載 C++開発者のための単体テスト入門:第3回 C++アプリケーションの効率的なテスト手法(NUnit編) (1/4)

C++のネイティブ・コードも.NETコードも同じように単体テストしたい!? それならNUnitが便利だ。そのテスト方法を紹介。

[επιστημη(えぴすてーめー),著]
連載 C++開発者のための単体テスト入門
Insider.NET

 

「連載 C++開発者のための単体テスト入門」のインデックス

連載目次

 単体テスト・フレームワーク(Unit Test Framework)は、さまざまな言語に対応したものが無償でリリースされています。Cに対応した「CUnit」、Javaの「JUnit」、前回紹介したC++対応の「CppUnit」などがあります。これらは“xUnit”と総称されます。

 もちろんC#やVisual Basic(.NET/2005)に代表されるCLI(Common Language Infrastructure)に準拠した.NET言語で書かれたプログラムをテストするための単体テスト・フレームワークもあり、その1つが「NUnit」です。NUnitはC#で実装されたアセンブリ(.DLLファイル群)と単体テスト実行環境(nunit.exe/nunit-console.exeファイル)で構成されており、.NET言語に対応したxUnitとしては最も広く使われています。

 Visual Studio 2005(以下、VS 2005)に組み入れられたVisual C++ 8.0は独自の言語拡張「C++/CLI」によって.NETマネージ・コード(managed code)を生成できますから、C++/CLIで書かれたテストをNUnitで実行することができます。さらにC++/CLIは従来のネイティブなC/C++コード(native code)を呼び出せるのですから、C/C++によるネイティブ・コードのテストをC++/CLIで作成することで、(マネージ・コードだけでなく、ネイティブ・コードも)NUnitでテストできるわけです。

 今回は、このNUnitについて簡単に紹介し、NUnitを用いたネイティブ・コードのテスト方法について解説します。

■NUnitのインストールと試運転

 NUnitおよびNUnitに関する情報は、下記のサイトより入手できます。

 このサイトの上部にある[DOWNLOAD]から.NET Framework 2.0向けの最新版NUnitをダウンロードしてください(2007年9月時点での最新はversion 2.4.3です)。本稿では「NUnit-2.4.3-net-2.0.msi」を利用します。これをダウンロード、実行すればインストールが始まります。インストール先は適当なディレクトリを指定してください。インストールが完了すると、デスクトップにNUnitアイコンが追加されます。

デスクトップに追加されたNUnitアイコン

 それではお試しにC#で簡単なアセンブリを作成し、NUnitでテストしてみましょう。

NUnitの試運転:テスト対象クラスの作成

 VS 2005で「NUnitDemo」という名前の「空のソリューション」を作成し、その中にC#の「クラス ライブラリ」のプロジェクトとして「CSCounter」を用意します。

 CSCounterプロジェクト内に自動生成された「Class1.cs」ファイルの名前を「Counter.cs」に書き換え、そのファイルに前回C++で実装したテスト対象である「Counterクラス」(=カウントを数える機能を持つクラス)のC#版を実装します。各メソッドの中身はコンパイル・エラーとならないハリボテとしておきます。

namespace NUnitDemo
{
  public class Counter
  {
    private int count_;
    public Counter() {}
    public int get() { return 0; }
    public void incr() { }
    public void clear() { }
  }
}

C#で作成したCounterクラス(Counter.cs)

 このアセンブリをテストするプロジェクトを作りましょう。

NUnitの試運転:テスト用プロジェクトの作成

 ソリューションにC#クラス・ライブラリのプロジェクト「CSCounterTest」を追加します。

 そして、CSCounterTestプロジェクトに対して「nunit.framework.dll」(=NUnitの基本アセンブリ)への参照を追加します。NUnitが正しくインストールされていれば、次の画面のように[参照の追加]ダイアログの[.NET]タブのアセンブリ一覧に「nunit.framework」が見つかります。

「nunit.framework.dll」アセンブリへの参照の追加
[ソリューション エクスプローラ]上で[CSCounterTest]プロジェクトの項目を右クリックして、表示されるコンテキスト・メニューから[参照の追加]を選択する。すると、このような[参照の追加]ダイアログが表示されるので[.NET]タブを開き、アセンブリ一覧の中から「nunit.framework」([バージョン]は「2.4.3.0」)を選択して[OK]ボタンをクリックする。

 さらにテスト対象であるCSCounterプロジェクトへの参照も追加しておきます。

「CSCounter」プロジェクトへの参照の追加
[参照の追加]ダイアログで[プロジェクト]タブを開き、プロジェクト一覧の中から「CSCounter」を選択して[OK]ボタンをクリックする。

 それでは、さっそくテストを書きましょう。

       1|2|3|4 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。