nunit - Teamcity - 防止在多个代理上并行执行特定的测试类
问题描述
我同时运行两个代理来测试一个 .net 项目。他们大部分时间都在测试不同的分支(发布分支+主分支)。
在一些测试中,我正在阅读来自我们测试公司邮箱的邮件。不幸的是,要为第二个代理获得第二个邮箱并不容易,所以两个代理都会互相打扰。是否可以“锁定”这几个测试以防止在两个代理上并行执行?
系统规格:
- TeamCity 企业版 2021.1
- Nunit 跑步者:NUnit 3
- NUnit 控制台:3.11.1
解决方案
是的。你想利用共享资源。
共享资源构建功能允许使用共享资源限制并发运行的构建,例如外部(对 CI 服务器)资源,例如测试数据库或具有有限连接数的服务器。
在代表邮箱的父项目中创建一个资源。给资源一个配额限制。
在每个测试配置中添加一个共享资源构建功能,该功能需要对您刚刚创建的资源进行独占写入锁定。
如果另一个构建尝试获取资源的锁定并且无法满足,则测试将保留在构建队列中。
推荐阅读
- wso2 - WSO2 BPMN:可声明的任务列表为空
- clipboard.js - 如何使用 ClipboardJS 复制 HTML 中所有 Input 标签的内容?
- c# - 如何使用 EFCore 在事务中进行选择和更新?
- caldav - Baikal CalDAV:未找到“授权:基本”标头版本。0.6.0 MacOSX 日历
- javascript - 无法在水平可滚动的 div 中调整表格列的大小
- angularjs - 将 AngularJS 1.4 应用程序迁移到 Angular 8 的方法和方法
- azure - 如何从 .netcore 2 应用程序上的 azure 服务总线获取死信?
- node.js - 猫鼬填充功能不填充
- c# - 是否可以将索引添加到绑定?
- c# - 从 JSON 响应中打印特定值