如何在 TeamCity 中正确并行化我的测试套件?

Posted

技术标签:

【中文标题】如何在 TeamCity 中正确并行化我的测试套件?【英文标题】:How can I properly parallellize my test suites in TeamCity? 【发布时间】:2016-05-31 19:38:48 【问题描述】:

所以我有一个场景,我有许多不同的测试套件。它们都是由Create Test Environment 步骤触发的。但是,这些测试套件不能在同一环境中同时运行,因为它们会相互干扰。为了缓解这种情况,我在 TeamCity 中添加了一个共享资源,并将构建定义配置为阻塞该资源,以便一次只运行一个测试套件。这行得通。

但是,如果在运行环境 A 的测试套件时,签入了另一个代码更改,则可以通过 Create Test Environment 步骤创建环境 B,并且所有测试套件都将重新排队。目前,由于他们都共享一个他们阻塞的共享资源,这些测试然后坐在队列中等待访问共享资源。但是,环境 B 的测试没有理由不能与环境 A 的测试并行运行(一次构建一个)。如何最好地调整我的 TeamCity 配置来实现这一点?

【问题讨论】:

【参考方案1】:

您似乎正在寻找 Matrix 版本。 TeamCity 中未实现此功能。作为解决方法,您可以为不同的环境创建不同的构建配置。您可以使用 TeamCity 模板来简化设置。有关详细信息,请参阅 TeamCity 问题跟踪器中的 related comment。

【讨论】:

以上是关于如何在 TeamCity 中正确并行化我的测试套件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Perl 测试套件中并行运行一些但不是所有测试?

如何并行运行机器人框架测试用例而不是并行测试套件?

如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python

Xcode 10 并行测试套件测试速度较慢,测试数量较少

如何让 SBT 并行运行测试套件?

使用 TeamCity 构建后如何部署?