NUnit を使い始めたのでメモ書き。
・クラスと Test 属性をつけた関数は public にする必要がある。
・NUnitに読み込ませるのは DLL、EXE どちらの形式にしても OK 。
以下のような形でクラスを作成します。
----
[TestFixture]
public class TestSample
{
[SetUpFixture]
public void SetUpFixture()
{
// [TestFixture]の最初に一度だけ呼び出される関数。
}
[TestFixtureTearDown]
public void TestFixtureTearDown()
{
// [TestFixture]の最後に一度だけ呼び出される関数。
}
[SetUp]
public void SetUp()
{
// [Test]メソッドを呼び出す前に実行される。
//([Test]が複数あれば複数回呼び出される)
// 必要なインスタンスの生成などを行う。
}
[TearDown]
public void TearDown()
{
// [Test]メソッドを呼び出した後に実行される
//([Test]が複数あれば複数回呼び出される)
// リソースの解放処理などを行う。
}
[Test]
public void Test()
{
// ここにテストコードを記述
// 期待値とテスト結果の比較には以下のメソッドを使用する。
Assert.AreEqual("a", "a"); //OK
Assert.AreEqual("a", "b"); //NG
}
[Test]
[ExpectedException(typeof(ArgumentException))] // この場合はArgumentExceptionが発生しなければテスト失敗となる。
public void TestCatchException()
{
// ここにテストコードを記述
}
}
----
NUnitではAssertで失敗すると例外が発生してそこでテストが止まります。
私はテストする関数毎にテストクラスを用意して、
テストケース毎にテスト関数([Test]属性が付いた関数)を作成するようにしています。
.