SymfowareSymfowareSymfowareについての考察blogxUnitで使用できるAssertionC#のテストツール「xUnit」について調べ中。xUnitを使用したC#のテストプログラム作成法xUnitを使用したC#のテストでSetUpやTearDown、Theory使用できるAssertionについて調べてみます。http://xunit.codeplex.com/wikipage?title=Comparisons&referringTitle=HowToUseこちらの「Assertions」を参考にしました。※思いのほか長くなったので、ページ内リンクを作っておきます。等しいか(Equal)等しくないか(NotEqual)同じインスタンスでないか(NotSame)同じインスタンスであるか(Same)コレクションに含まれるか(Contains)コレクションに含まれないか(DoesNotContain)エラーが発生しないか(DoesNotThrow)指定範囲に含まれるか(InRange)指定クラスのインスタンスであるか(IsAssignableFrom)空であるか(Empty)Falseであるか(False)指定のインスタンスであるか(IsType)空でないか(NotEmpty)指定のインスタンスではないか(IsNotType)Nullでないか(NotNull)nullであるか(Null)trueであるか(True)範囲に含まれないか(NotInRange)指定のエラーが発生するか(Throws)等しいか(Equal)第一引数と第二引数が等しければ検証通過。等しくなければエラーを報告します。seconds等しくないか(NotEqual)第一引数と第二引数が等しくなければ検証通過。等しければエラーを報告します。seconds同じインスタンスでないか(NotSame)第一引数と第二引数のインスタンスが等しくなければ検証通過。等しければエラーを報告します。seconds同じインスタンスであるか(Same)第一引数と第二引数のインスタンスが等しければ検証通過。等しくなければエラーを報告します。secondsコレクションに含まれるか(Contains)第一引数のコレクションに第二引数の値が含まれていれば検証通過。含まれていなければエラーを報告します。secondsコレクションに含まれないか(DoesNotContain)第一引数のコレクションに第二引数の値が含まれていなけれは検証通過。含まれていればエラーを報告します。secondsエラーが発生しないか(DoesNotThrow)エラーが発生しなければ検証通過。エラーが発生したらテストを通過しません。除算しようとしました。seconds指定範囲に含まれるか(InRange)第一引数が、第二引数と第三引数の範囲に含まれていれば検証通過。含まれていなければエラーとなります。seconds指定クラスのインスタンスであるか(IsAssignableFrom)よくわかっていないのですが、指定のクラスであるかのチェックだと思います。"日本語");という記載方法と、Assert.IsAssignableFrom<string>("日本語");という記載方法があります。seconds空であるか(Empty)文字列やリストが空白であるかを検証します。nullのチェックではありません。することはできません。secondsFalseであるか(False)これはそのまま、Falseだったら検証通過。Trueだったらエラーとなります。seconds指定のインスタンスであるか(IsType)これも2通り記載方法があります。"文字列")という記載方法とAssert.IsType<string>("文字列")という記載です。secondsちなみに、上記のテストをIsTypeからIsAssignableFromに変更して実行してみます。{}テストは全て通過します。seconds空でないか(NotEmpty)Emptyの逆です。空でなければ検証通過。要素が空ならエラーになります。seconds指定のインスタンスではないか(IsNotType)IsTypeの逆です。指定のインスタンスでなければ検証通過。指定のインスタンスだったらエラーになります。secondsNullでないか(NotNull)nullでなければ検証通過。nullならエラーになります。secondsnullであるか(Null)NotNullの逆です。nullなら検証通過。nullでなければエラーとなります。secondstrueであるか(True)Falseの逆。trueなら検証通過。falseならエラーを報告します。seconds範囲に含まれないか(NotInRange)InRangeの逆。引数が、第二引数と第三引数の範囲に含まれなければ検証通過。含まれていたらエラーになります。こんな感じで、文字の範囲も指定可能です。seconds指定のエラーが発生するか(Throws)指定したエラーが発生したら検証通過。発生しなければエラーになります。これも書き方が2通りあります。hoge)Assert.Throws<Exception>(hoge)また、エラーの種類は厳密に書く必要があるみたいです。次のページプロフィールAuthor:symfoblog形式だと探しにくいので、まとめサイト作成中です。