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");
        }
    }