3

我们一直在运行使用 MSTest 使用 SpecFlow 创建的测试,测试的顺序由测试 ID 确定。因此,只需使用 1001_、1002_ 等开始测试名称,您就可以控制执行顺序。与 VStest 运行相同的订单时出现问题。如另一篇文章所述,VSTest 的执行顺序如下*。而唯一明显的选择是创建一个“有序测试”容器,这并不适合我们。想知道是否有办法使用 VSTest 控制测试顺序。谢谢

*关于VSTest的执行顺序。以下是它在您的 TestProject 中的组织方式:

  1. 按 CREATION Time ASC 对项目中的 cs 文件进行排序
  2. 每个文件中的方法位置

例如,您在项目中有 3 个 cs 文件。

UnitTest1.cs - 使用方法 TestMethod05 和 TestMethod03 创建于 01/01/1970

UnitTest2.cs - 使用方法 TestMethod02 创建于 05/01/1970。

UnitTest3.cs - 使用方法 TestMethod01 创建于 03/01/1970。

然后执行测试的顺序是这样的:

TestProject1.UnitTest1.TestMethod05
TestProject1.UnitTest1.TestMethod03
TestProject1.UnitTest3.TestMethod01
TestProject1.UnitTest2.TestMethod02

您可以使用命令查看“默认顺序”:vstest.console.exe TestProject1.dll /ListTests*

4

0 回答 0