hiro(iskwa)'s blog

プロジェクトマネジメントとかソフトウェアを中心としたシステム開発を中心として日々気づいたことを記録していくブログ、にしていくかも

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