我有一个使用Specflow,硒和NUnit并行运行的测试解决方案
在AssemblyInfo中添加了以下内容:
[assembly: Parallelizable(ParallelScope.Fixtures)]
所有内容都可以很好地并行运行,但是现在我添加了一个功能,其中包含一些与所有其他场景都不兼容的场景。 因此,我希望他们分开运行。
反正有这样做吗?
注意:我知道“ [NonParallelizable]”,因为我正在使用specflow,所以我只是不知道如何应用它。
答案 0 :(得分:0)
您应该能够使用[NonParallelizable]
或等效的[Parallelizable(ParallelScope.None)]
装饰要从并行运行中排除的特定测试。
请参见the docs
答案 1 :(得分:0)
您需要为feature.cs文件添加[Parallelizable(ParallelScope.None)]
。您可以手动执行此操作,但是在构建解决方案时,此更改将被覆盖。
在MsTestV2中,我们可以通过添加标签“ @mstest:donotparallelize”将方案从并行执行中排除。不确定nUnit
下面是设置文件
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Path to Test Adapters Use for mstest v2-->
<TestAdaptersPaths>.\</TestAdaptersPaths>
<MSTest>
<Parallelize>
<Workers>4</Workers>
<Scope>Class</Scope>
</Parallelize>
</MSTest>
</RunSettings>
现在将标记添加到您不想并行执行的功能文件中。
@mstest:donotparallelize
Feature: Calculator
In order to avoid silly mistakes
As a math idiot
I want to be told the sum of two numbers
这将在feature.cs文件中添加[Microsoft.VisualStudio.TestTools.UnitTesting.DoNotParallelize()]
属性