テスト・品質管理

テストツール

開発支援ツール

入手方法

  • ここ↓へ行って最新版を取ってくる。
  • 2006.5.9時点の最新版はIteration Release 2.2.8
  • Iteration Releaseの説明
    An Iteration Release is an incremental release of the NUnit software 
    at it's current state of development. 
    This release includes an experimental extensibility mechanism, 
    a major revision of the source code organization and various fixes. 
    See the release notes for a full list of changes.
  • インストールはmsiを起動するだけなので特に注意点はない

ドキュメント

  • セットアップするとインストールされる。HTML形式で提供されている。
    • 置き場所の例:file:///C:/Program%20Files/NUnit%202.2.8/doc/releaseNotes.html

テストクラスの作成方法

  • テストクラス=テストする側のクラス=テスト元クラスを意味する
  • テスト元=テストする側、テスト先=テストされる側とする。

手順

  • ソリューションにクラスライブラリとして新しくプロジェクトを作って追加する。これをテスト元プロジェクトと呼ぶ。
  • そのテスト元プロジェクトの参照としてnunit.framework(nunit.framework.dll)を追加する。
  • テスト元プロジェクトからテスト先プロジェクトを参照するように設定する。
  • テストする側のソースで using NUnit.Frameworkしておく
  • テストする側のクラスに[TestFixture]属性をつける
  • テスト先クラスのメソッドを呼び出してテストするメソッドをテスト元クラスに書く
  • テストメソッド(テスト元)となるのは[Test]属性をつけたものだけ
  • テストメソッドの名前は自由につけてよい
    • ※下位互換性のため、メソッド名の先頭が"Test"のメソッドもテストメソッドとして扱われる。
  • テストしたい分だけのテストメソッドを書く
    • メソッド中のテスト条件をAssert.AreEqualなどで表現する
  • ひとつのメソッドには1つのアサーションだけ入れることを推奨だが、あまりこだわらなくていいかも
    • 1つのテストメソッドに2つ以上アサートがあって最初のが失敗したら2つ目は実行されない。

NUnitで使えるクラス

NUnit.framework.Assertion クラス

  • AssertEqualsメソッド
  • これは古いヴァージョンらしい。最新版2.2.2では使用を推奨されない

NUnit.framework.Assert クラス

アサーションのメソッドには3種類ある。

  • 比較系(AreEqual,AreSame系)
    • AreEqualメソッド ... 値が同じかどうか
    • AreSameメソッド ... オブジェクト自体が同じかどうか
  • 条件テスト系(IsTrue系)
  • ユーティリティ系(Fail,Ignore)

NUnitで使える属性

以下の属性ははすべてテスト元クラスで使う(C#の属性についてよくわかってない場合はまずそちらを勉強のこと)

  • テストする側のクラスに[TestFixture]属性をつける
  • テストメソッドに[Test]属性をつける
    • テストメソッドの戻り値はvoid、引数なしで
  • テスト先メソッドのあるべき動作が例外発生の場合、[ExpectedException]属性を使う
    •  ex)[ExpectedException(typeof(xxxxxException))]
  • テストの準備に使う処理に[SetUp]属性を使う
  • テスト終了後の後始末に使う処理に[TearDown]属性をつける
  • [SetUp]と[TearDown]はそれぞれのテスト先メソッドのテストメソッド毎に毎回その前と後のタイミングで呼ばれる。
  • [TestFixtureSetUp]属性…TestFixture属性に含まれるテストが実行される前後に、1度だけ実行されるメソッドにつける
  • [TestFixtureTearDown]属性…最後に1度だけ(ry
  • [Explicit]属性…ツール上で明示しない限りテストされたくないメソッドにつける。

テストの実施方法

  • スタートメニューからNUnitのカテゴリ内のNUnit-GUIツールを実行する。
  • メニューの「File」-「Open」からテスト元プロジェクトの出力したdllを選択する
  • Runボタンを押す
  • すべてのメソッドに緑の○が点灯すればテストにパスしたとみなす
  • 実際の開発ではコンソール版をビルド後のイベントに指定した方が良さそう。
  • NUnit-guiを以下のようにして自動実行も可能
    nunit-gui /run Example001.dll

Test Driven .NET

Mockオブジェクト

関連Webサイト


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-06-22 (金) 20:35:27 (3222d)