Как отключить параллельный запуск для конкретного сценария SpecFlow? - PullRequest
0 голосов
/ 25 сентября 2018

Можно ли исключить сценарий спецпотока из параллельного запуска?

Я установил параллельный запуск для всей сборки, выполнив следующее:

[assembly: Parallelize(Workers = 10, Scope = ExecutionScope.ClassLevel)]

в файле AssemblyInfo.cs.

Но теперь мне нужно исключить один конкретный сценарий из параллельного запуска.Как я могу это сделать?

1 Ответ

0 голосов
/ 18 октября 2018

Одним из способов решения этой проблемы является использование NonParallelizable Attribute, предоставленного NUnit .Пример:

namespace Tests
{
    [SetUpFixture]
    public class TestsSetUpFixture
    {
         //setup the tests
    }   

    [TestFixture]
    [NonParallelizable]
    public class TestFixture1
    {
        [Test]
        public void TestFixture1_Test()
        {
            //do stuff in your test
        }
    }
}

NUnit предоставляет эту документацию:

Этот атрибут используется, чтобы указать, что тест, в котором он появляется, может не выполняться параллельно с другими тестами.Атрибут не принимает аргументов и может использоваться на уровне сборки, класса или метода.

При использовании на уровне сборки его единственный эффект заключается в том, что выполнение начинается в непараллельной очереди.Наборы тестов, приборы и тестовые случаи будут продолжать выполняться в том же потоке, если прибор или метод не помечены атрибутом Parallelizable.

При использовании в тестовом приборе или методе этот тест будет поставлен в очередь дляпараллельной очереди и не будет работать, пока выполняются другие тесты, помеченные как Parallelizable.

Надеюсь, это поможет.

...