首页 > 解决方案 > Teamcity - 防止在多个代理上并行执行特定的测试类

问题描述

我同时运行两个代理来测试一个 .net 项目。他们大部分时间都在测试不同的分支(发布分支+主分支)。

在一些测试中,我正在阅读来自我们测试公司邮箱的邮件。不幸的是,要为第二个代理获得第二个邮箱并不容易,所以两个代理都会互相打扰。是否可以“锁定”这几个测试以防止在两个代理上并行执行?

系统规格:

标签: nunitteamcity

解决方案


是的。你想利用共享资源

共享资源构建功能允许使用共享资源限制并发运行的构建,例如外部(对 CI 服务器)资源,例如测试数据库或具有有限连接数的服务器。

在代表邮箱的父项目中创建一个资源。给资源一个配额限制。

在每个测试配置中添加一个共享资源构建功能,该功能需要对您刚刚创建的资源进行独占写入锁定。

如果另一个构建尝试获取资源的锁定并且无法满足,则测试将保留在构建队列中。


推荐阅读