「XUnit.net/Fact属性とTheory属性」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「xUnit.netでは似たようなユニットテストツールで一般的な「Test」のような属性名ではなく「Fact」と「Theory」の2種類の属性...」) |
imported>Administrator |
||
1行目: | 1行目: | ||
+ | {{小文字}} | ||
+ | |||
xUnit.netでは似たような[[ユニットテストツール]]で一般的な「Test」のような属性名ではなく「Fact」と「Theory」の2種類の属性名を用いる。 | xUnit.netでは似たような[[ユニットテストツール]]で一般的な「Test」のような属性名ではなく「Fact」と「Theory」の2種類の属性名を用いる。 | ||
* Fact - 不変条件のテスト。いわゆる普通のTestがこれ。 | * Fact - 不変条件のテスト。いわゆる普通のTestがこれ。 |
2017年7月7日 (金) 06:05時点における最新版
xUnit.netでは似たようなユニットテストツールで一般的な「Test」のような属性名ではなく「Fact」と「Theory」の2種類の属性名を用いる。
- Fact - 不変条件のテスト。いわゆる普通のTestがこれ。
- Theory - 特定のデータセットのみに当てはまるテスト
Factは類似品で一般的なTestに相当する。 一方、Theoryは特定のデータのときにのみ作用するテストに用いるxUnit.net独特の考え方である。 たとえば奇数を判別するアルゴリズムのテストをしたとする。 そのアルゴリズムに偶数を渡すとテストは失敗するが、アルゴリズムやテストが間違っているわけではなく正しい動作である。
以下のコードは意図的に悪いデータを含めているので失敗する。
[Theory]
[InlineData(3)]
[InlineData(5)]
[InlineData(6)]
public void MyFirstTheory(int value)
{
Assert.True(IsOdd(value));
}
bool IsOdd(int value)
{
return value % 2 == 1;
}