Как настроить функцию настройки только один раз за сеанс тестирования в NUnit?
using NUnit.Framework;
using System;
namespace NUnitTest
{
[SetUpFixture]
public class GlobalSetup
{
static int test = 0;
[SetUp]
public void ImportConfigurationData ()
{
test++;
Console.WriteLine (test);
}
}
}
Если я неоднократно запускаю свои тесты вместе с этой функцией глобальной настройки (используя стандартный бегун NUnit с графическим интерфейсом), то число, которое печатается, увеличивается на единицу каждый раз. Другими словами, эта функция запускается несколько раз за сеанс тестирования.
Есть ли другой способ действительно запустить функцию один раз за сеанс тестирования, или это ошибка в бегуне?
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 ...
}
}
}