Thought about system by Hiroyasu Ishikawa

We are uncovering better ways of developing system.

NUnit 3.0のOneTimeSetUp属性を試そうとしたけれど動かせなかった

最近C#プロジェクトでNUnitの2.x最新版を使っていることもあって、NUnit3.0のアルファリリースが気になった。その中の新しい機能(属性)OneTimeSetUpを試してみたのだけれど、動かせなかったというお話。名称からテスト実行時に一度だけ実行されるセットアップ関数を定義できると思ったのだが。

サンプルコード

namespace TryNUnit3
{
    [TestFixture]
    public class TestSample
    {
        [OneTimeSetUp]
        public void InitOneTime()
        {
            Console.WriteLine("OneTimeSetup");
        }

        [SetUp]
        public void Init()
        {
            Console.WriteLine("SetUp");
        }

        [TestCase("Hoge")]
        [TestCase("Fuga")]
        public void TestAdd(string foo)
        {
            // テスト実行
            Console.WriteLine(foo);
        }
    }
}

結果
f:id:hiro211:20141116175802p:plain

関連ドキュメント
NUnit - OnetimeSetup


JUnitだと@BeforeClassに当たるのかな。
Test fixtures · junit-team/junit Wiki · GitHub