→テスト・品質管理
→テストツール
→開発支援ツール
入手方法†
ドキュメント†
- セットアップするとインストールされる。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]属性をつける
- テスト先メソッドのあるべき動作が例外発生の場合、[ExpectedException]属性を使う
- ex)[ExpectedException(typeof(xxxxxException))]
- テストの準備に使う処理に[SetUp]属性を使う
- テスト終了後の後始末に使う処理に[TearDown]属性をつける
- [SetUp]と[TearDown]はそれぞれのテスト先メソッドのテストメソッド毎に毎回その前と後のタイミングで呼ばれる。
- [TestFixtureSetUp]属性…TestFixture属性に含まれるテストが実行される前後に、1度だけ実行されるメソッドにつける
- [TestFixtureTearDown]属性…最後に1度だけ(ry
- [Category]属性…テストのカテゴリ分けとカテゴリごとのテスト実行
- [Explicit]属性…ツール上で明示しない限りテストされたくないメソッドにつける。
テストの実施方法†
- スタートメニューからNUnitのカテゴリ内のNUnit-GUIツールを実行する。
- メニューの「File」-「Open」からテスト元プロジェクトの出力したdllを選択する
- Runボタンを押す
- すべてのメソッドに緑の○が点灯すればテストにパスしたとみなす
Test Driven .NET†
Mockオブジェクト†
関連Webサイト†