如何使用MS测试在同一测试代理上并行执行specflow测试用例
答案 0 :(得分:0)
您有两个选择:
装配体属性
如果您只有一个测试程序集并且代码是可修改的,则此选项适用。
如果您可以在程序集中的任意位置(例如,properties.cs文件或任何测试类文件)添加以下程序集属性,则应该能够使Specflow测试并行运行。
[assembly: Parallelize(Workers = 0, Scope = ExecutionScope.MethodLevel)]
.runsettings文件设置
如果您要进行多个测试程序集化,可以在解决方案的根目录下创建一个名为.runsettings的文件:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<MSTest>
<Parallelize>
<Workers>8</Workers>
<Scope>MethodLevel</Scope>
</Parallelize>
</MSTest>
</RunSettings>
并行化有3个范围:
(1) ClassLevel –每个线程都执行一个TestClass测试。 在TestClass中,测试方法按顺序执行。这是 默认值–一个类中的测试可能具有相互依赖性,我们 不想太激进。
(2) MethodLevel –每个线程都执行一个TestMethod。
(3)自定义 –用户可以提供实现 所需的执行语义。目前尚不支持,但是 提到的原因是-与所有MSTest V2一样-我们设计了 功能具有可扩展性。
有关更多详细信息,请参见this blog