如何针对特定SpecFlow方案禁用并行运行?

时间:2018-09-25 14:41:29

标签: automation automated-tests specflow

是否可以从并行运行中排除Specflow方案?

我通过执行以下操作为所有程序集设置并行运行:

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

在AssemblyInfo.cs文件中。

但是现在我需要从并行运行中排除一种特定的情况。我该怎么办?

1 个答案:

答案 0 :(得分:1)

解决此问题的一种方法是使用NonParallelizable Attribute, provided by 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属性。

     

在测试夹具或方法上使用时,该测试将在   非并行队列,并且在其他测试标记为   可并行运行。

希望这会有所帮助。