xUnit.netを使ってみる 2
他のテストツールとの比較がありますね。
SetupとTearDownの代わりが、コンストラクタとIDisposable.Disposeというのはおもしろい。
あと気に入ったのは例外のテスト。期待する例外をテストメソッドの属性に書くと、例外をスローするかもしれないスコープが広くなりすぎてしまうですが、デリゲートを使うことでとても局所的にできます。例外を戻してさらにテストすることもできます。
public class Class1 : IDisposable { public Class1() { Console.WriteLine("construct"); } [Fact] public void Test1() { var e = Assert.Throws<FormatException>(() => int.Parse("hoge")); Console.WriteLine(e.Message); } public void Dispose() { Console.WriteLine("dispose"); } }