1

我们的代码库有 100 多个项目,每个项目都有测试。一些测试程序集花费更多时间,而其他一些程序集则花费更少的时间来执行测试。

Azure DevOps 服务器并行运行我们的整个测试套件,这使得它非常快。但问题是,长时间运行的测试是在测试运行的中间开始的,这会导致整个测试运行会更长。

有没有办法影响测试程序集的启动方式和时间?我想先启动长时间运行的测试程序集,然后再启动快速测试程序集。

4

2 回答 2

0

我们通过安排项目文件夹来实现这一点,以便它们排序以首先提供运行时间最长的测试程序集。你可以看到 VSTest 在 Azure DevOps 输出中查找程序集的顺序。从那里您可以重命名文件夹以影响订单。

如果有另一种方法来实现这一点,那就太好了。

于 2021-05-12T18:09:17.470 回答
0

由于您正在并行运行测试,因此您可以尝试使用Visual Studio Test taskBased on past running time of tests中的选项。

测试任务设置

根据this doc about Parallel test

此设置考虑过去的运行时间来创建测试切片,以便每个切片具有大致相同的运行时间。短期运行的测试将一起批处理,而长期运行的测试将分配到单独的切片中。

此选项允许根据运行时间分组运行测试。最后,每组将在相似的时间内完成。

希望这可以帮助。

于 2020-06-09T06:37:31.883 回答