2016-05-02 7 views
2
using NUnit.Framework; 
using System; 

namespace NUnitTest 
{ 
    [SetUpFixture] 
    public class GlobalSetup 
    { 
     static int test = 0; 

     [SetUp] 
     public void ImportConfigurationData() 
     { 
      test++; 
      Console.WriteLine (test); 
     } 
    } 
} 

このグローバルセットアップ機能(標準NUnit GUI runnerを使用)と一緒にテストを繰り返し実行すると、その度に1つずつ数字が増えます。言い換えると、この機能はテストセッションごとに複数回実行されます。セットアップ機能はNUnitのテストセッションごとに1回しか実行できません。

実際にテストセッションごとに1回実行する別の方法がありますか、これはランナーのバグですか?

答えて

1

これは安価な回避策です。

using NUnit.Framework; 
using System; 

namespace NUnitTest 
{ 
    [SetUpFixture] 
    public class GlobalSetup 
    { 
     // The setup fixture seems to be bugged somewhat. 
     // Therefore we manually check if we've run before. 
     static bool WeHaveRunAlready = false; 

     [SetUp] 
     public void ImportConfigurationData() 
     { 
      if (WeHaveRunAlready) 
       return; 

      WeHaveRunAlready = true; 

      // Do my setup stuff here ... 
     } 
    } 
} 
+0

NUnit 3.4.1以降については、[この回答](https://stackoverflow.com/a/38310496/1497596)を参照してください。 – DavidRR

関連する問題