Nunit共通属性
3138 ワード
1.TestFixture
テストを含むクラスをマークします.このクラスの特徴:(1)publicでなければならない.そうしないとNUnitはそれを見つけられない.(2)デフォルトのコンストラクション関数が必要です.そうしないとNUnitは構築しません.(3)コンストラクション関数には副作用はありません.NUnitはしばしば複数回構築されるからです.
[TestFixture]
public class Tests
{
}
2.Test
テスト関数をマークします.この関数の特徴:1)publicでなければならない.(2)パラメータなし;(3)戻り値がありません.
[TestFixture]
public class Tests
{
[Test]
public void AddTwoNum()
{
int a = 1;
int b = 2;
int result= a + b;
Assert.AreEqual(result, 3);
}
}
3.SetUp
各テスト関数が実行される前に実行されるタグ関数.一般的には、リソース初期化関数です.
4.TearDown
各テスト関数の実行後に実行されるタグ関数.一般的には、リソースクリア関数です.
[TestFixture]
public class Tests
{
private int a;
private int b;
private int result;
[SetUp]
public void Init()
{
a = 1;
b = 2;
}
[Test]
public void AddTwoNum()
{
result = a + b;
Assert.AreEqual(result, 3);
}
[Test]
public void MultiplyTwoNum()
{
result = a * b;
Assert.AreEqual(result, 2);
}
[TearDown]
public void Clear()
{
result = 0;
}
}
5.ExpectedException
実行時に所望の異常を投げ出すことが望ましいが、もしそうであれば、テストは合格し、そうでなければ合格しない.0を除くと異常が放出されます.
[Test]
[ExpectedException(typeof(DivideByZeroException))]
public void DivideByZero()
{
int zero = 0;
int infinity = a/zero;
Assert.Fail("Should have gotten an exception");
}
6.Ignore
実行時に無視されたテスト.Ignoreプロパティは、テストメソッドにアタッチするか、テストクラス全体にアタッチできます.
[Test]
[Ignore("Method is ignored")]
public void MultiplyTwoNum()
{
result = a * b;
Assert.AreEqual(result, 2);
}
7.Category
テストを分類し、カテゴリ別にテストを実行しやすくします.
[Test]
[Category("Calculator")]
public void MultiplyTwoNum()
{
result = a * b;
Assert.AreEqual(result, 2);
}
8.Explicit
明示的な選択が実行されるまで、テストクラスまたはテストメソッドは無視されます.
[Test, Explicit]
public void MultiplyTwoNum()
{
result = a * b;
Assert.AreEqual(result, 2);
}
9.TestCase
パラメータをマークしたテスト方法.次の例では、1,2はそれぞれパラメータaとbの値である.
[TestCase(1,2)]
public void AddTwoNum(int a, int b)
{
int result = a + b;
Assert.AreEqual(result, 3);
}
10.Maxtime
テスト例の最大実行時間をマークし、タイムアウト・タイムズが間違っていますが、テストをキャンセルしません.
[Test]
[MaxTime(100)]
public void AddTwoNum()
{
int a = 1;
int b = 2;
int result = a + b;
Assert.AreEqual(result, 3);
}
11.Timeout
テスト例のタイムアウト時間をマークし、タイムアウトしてテストを中断します.
[Test]
[Timeout(100)]
public void AddTwoNum()
{
int a = 1;
int b = 2;
int result = a + b;
Assert.AreEqual(result, 3);
}
12.Repeat
テストメソッドの繰り返し実行回数をマークします.
[Test,Repeat(5)]
public void AddTwoNum()
{
int a = 1;
int b = 2;
int result = a + b;
Assert.AreEqual(result, 3);
}