メインメニューを開く

差分

XUnit.net/Fact属性とTheory属性

1,208 バイト追加, 2017年7月7日 (金) 05:50
ページの作成:「xUnit.netでは似たようなユニットテストツールで一般的な「Test」のような属性名ではなく「Fact」と「Theory」の2種類の属性...」
xUnit.netでは似たような[[ユニットテストツール]]で一般的な「Test」のような属性名ではなく「Fact」と「Theory」の2種類の属性名を用いる。
* Fact - 不変条件のテスト。いわゆる普通のTestがこれ。
* Theory - 特定のデータセットのみに当てはまるテスト

Factは類似品で一般的なTestに相当する。
一方、Theoryは特定のデータのときにのみ作用するテストに用いるxUnit.net独特の考え方である。
たとえば奇数を判別する[[アルゴリズム]]のテストをしたとする。
そのアルゴリズムに偶数を渡すとテストは失敗するが、アルゴリズムやテストが間違っているわけではなく正しい動作である。

以下のコードは意図的に悪いデータを含めているので失敗する。
<source lang="csharp">
[Theory]
[InlineData(3)]
[InlineData(5)]
[InlineData(6)]
public void MyFirstTheory(int value)
{
Assert.True(IsOdd(value));
}

bool IsOdd(int value)
{
return value % 2 == 1;
}
</source>



== 外部リンク ==
* http://xunit.github.io/docs/getting-started-desktop.html#write-first-theory

[[category: xUnit.net]]
匿名利用者