→テスト・品質管理

→テストツール

→開発支援ツール

#contents

*入手方法 [#afcb5c25]
-ここ↓へ行って最新版を取ってくる。
--http://sourceforge.net/projects/nunit
-2006.5.9時点の最新版はIteration Release 2.2.8
--http://sourceforge.net/forum/forum.php?forum_id=564881
--"File" のリンクを選ぶ
-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を起動するだけなので特に注意点はない

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

*テストクラスの作成方法 [#y8cd9b0c]
-テストクラス=テストする側のクラス=テスト元クラスを意味する
-テスト元=テストする側、テスト先=テストされる側とする。

**手順 [#zcb4c04c]
-ソリューションにクラスライブラリとして新しくプロジェクトを作って追加する。これをテスト元プロジェクトと呼ぶ。
-そのテスト元プロジェクトの参照としてnunit.framework(nunit.framework.dll)を追加する。
-テスト元プロジェクトからテスト先プロジェクトを参照するように設定する。

-テストする側のソースで using NUnit.Frameworkしておく
-テストする側のクラスに[TestFixture]属性をつける
-テスト先クラスのメソッドを呼び出してテストするメソッドをテスト元クラスに書く

-テストメソッド(テスト元)となるのは[Test]属性をつけたものだけ
-テストメソッドの名前は自由につけてよい
--※下位互換性のため、メソッド名の先頭が"Test"のメソッドもテストメソッドとして扱われる。

-テストしたい分だけのテストメソッドを書く
--メソッド中のテスト条件をAssert.AreEqualなどで表現する

-ひとつのメソッドには1つのアサーションだけ入れることを推奨だが、あまりこだわらなくていいかも
--1つのテストメソッドに2つ以上アサートがあって最初のが失敗したら2つ目は実行されない。

*NUnitで使えるクラス [#v53206ca]
**NUnit.framework.Assertion クラス [#of5e76c8]
-AssertEqualsメソッド
-これは古いヴァージョンらしい。最新版2.2.2では使用を推奨されない

**NUnit.framework.Assert クラス [#a168050b]
アサーションのメソッドには3種類ある。
-比較系(AreEqual,AreSame系)
--AreEqualメソッド ... 値が同じかどうか
--AreSameメソッド ... オブジェクト自体が同じかどうか
-条件テスト系(IsTrue系)
-ユーティリティ系(Fail,Ignore)

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

-テストする側のクラスに[TestFixture]属性をつける
-テストメソッドに[Test]属性をつける
--テストメソッドの戻り値はvoid、引数なしで
-テスト先メソッドのあるべき動作が例外発生の場合、[ExpectedException]属性を使う
-- ex)[ExpectedException(typeof(xxxxxException))]

-テストの準備に使う処理に[SetUp]属性を使う
-テスト終了後の後始末に使う処理に[TearDown]属性をつける
-[SetUp]と[TearDown]はそれぞれのテスト先メソッドのテストメソッド毎に毎回その前と後のタイミングで呼ばれる。

-[TestFixtureSetUp]属性…TestFixture属性に含まれるテストが実行される前後に、1度だけ実行されるメソッドにつける
-[TestFixtureTearDown]属性…最後に1度だけ(ry

-[Category]属性…テストのカテゴリ分けとカテゴリごとのテスト実行
--参考:[[Category属性の使い方:http://www.atmarkit.co.jp/fdotnet/tools/nunit22_01/nunit22_01_02.html]]

-[Explicit]属性…ツール上で明示しない限りテストされたくないメソッドにつける。

*テストの実施方法 [#ube1d401]
-スタートメニューからNUnitのカテゴリ内のNUnit-GUIツールを実行する。
-メニューの「File」-「Open」からテスト元プロジェクトの出力したdllを選択する
-Runボタンを押す
-すべてのメソッドに緑の○が点灯すればテストにパスしたとみなす

-実際の開発ではコンソール版をビルド後のイベントに指定した方が良さそう。
-NUnit-guiを以下のようにして自動実行も可能
 nunit-gui /run Example001.dll

*Test Driven .NET [#vbfff018]
-NUnitのVS.NET用アドイン
-NUnitを起動しなくてもテストメソッドで右クリックしてテストを走らせることが可能になる。
-[[Test Driven .NETのサポートblog:http://weblogs.asp.net/nunitaddin/]] 
--[[Download元:http://www.testdriven.net/]]
--[[Quick Start:http://www.testdriven.net/Default.aspx?tabid=29]]

*Mockオブジェクト [#nea84f9f]
-[[解説記事@IT:http://www.atmarkit.co.jp/fdotnet/tools/nunit22_02/nunit22_02_02.html]]

*関連Webサイト [#s3770c4b]
-[[NUnit Ver.2 利用ガイド:http://www.objectclub.jp/community/XP-jp/xp_links/NUnitUsersGuidebookVer2.pdf]]
-[[NUnit2.0入門@IT:http://www.atmarkit.co.jp/fdotnet/tools/nunit2/nunit2_01.html]]
-[[NUnitダウンロード(sorceforge):http://sourceforge.net/projects/nunit]]
-[[TDD最前線:http://www.atmarkit.co.jp/fdotnet/tools/nunit22_01/nunit22_01_01.html]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS