我的任务是调查是否可以将某些内容添加到我们的 MR 批准流程中,以突出显示 GitLab 中提议的合并请求 (MR)(基于 C++ 的代码)是否包含任何新的单元测试或对现有测试的修改。总体目标是提醒开发人员和审批者他们需要考虑单元测试。
理想情况下,一个小脚本将运行并检测是否存在其他测试或更改(我可以轻松编写,并且我接受这里可以完成的操作有限制),如果未检测到,则会在 MR 上显示警告.
如果可能的话,一个附加步骤是阻止 MR,直到推送满足标准的进一步提交,或者完成(额外/自定义)GitLab MR 字段,解释为什么单元测试不适合此更改。出于审计目的,该字段将与 MR 一起保存。我接受这不是万无一失的,但我希望将其作为更大推动更多单元测试覆盖率的一部分。
如前所述,我可以轻松地在 Python 中编写一个脚本来检查提交中的单元测试,但我不知道是否/如何将其挂钩到 GitLab MR 过程中(我查看了web-hooks,但它们似乎专注于通知其他系统而不是事务)以及 GitLab 是否具有足够的可扩展性以使我们能够实现上述额外步骤。有什么想法吗?可以做到这一点,如果可以,我将如何去做?