在Git-tfs中检查Pull Requests中更改代码的测试覆盖率

145次阅读
没有评论

问题描述

在使用Git-tfs时,用户面临一个问题:他们有很多遗留代码,测试覆盖率较低。他们希望所有通过Pull Requests提交的新代码都具有(接近)完整的测试覆盖率。用户想知道在这种情况下,最佳的方法或工具是什么?他们使用.NET C#和TypeScript进行开发,并希望测试覆盖率的检查能够融入代码审查流程,阻止开发人员在测试覆盖率不足的情况下提交代码。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

要在Git-tfs中检查Pull Requests中更改代码的测试覆盖率,可以采取以下几种方法:

方案1:集成到PR验证路径中

将测试覆盖率检查纳入到Pull Request的验证路径中,与构建和冒烟测试类似,处于代码审查阶段之后。这将确保在审查代码之前,首先检查新代码的测试覆盖率。这种方法适用于保证新代码质量的目标。

方案2:作为预提交门控系统的一部分

如果你使用预提交门控系统,可以将测试覆盖率检查作为预提交门控的一步。特别是对于大型项目,这是非常有效的做法,可以确保在提交之前强制执行测试覆盖率检查,从而保障项目的可维护性和可扩展性。

方案3:集成到持续集成(CI)流水线中

将测试覆盖率检查纳入到持续集成(CI)流水线中,可以作为一个独立的步骤,甚至可以在并行执行路径中运行,以避免过多增加总体CI执行时间。这种方法还可以将这些运行的结果用作其他两种情况的结果比较的最新基线。

自定义集成

如果MSTest与你的工作流程中的其他工具集成不佳,你可以构建自定义包装器来实现典型的提交/执行API,通过传递通过/失败的结果(或一组结果)来与大多数工具集成。这种方式可能需要更多的定制化工作,但能够适应你的特定需求。

无论哪种方法,都应该考虑测试覆盖率检查的集成点以及其在流程中的位置,以确保在代码审查和提交阶段强制执行测试覆盖率检查,以及与其它质量保障措施的协调。

总结

通过在Git-tfs中采取适当的集成方法,你可以确保在Pull Requests中提交的新代码具有足够的测试覆盖率。根据你的工作流程和项目需求,选择适合的方法,将测试覆盖率检查融入到代码审查和提交过程中,从而提高代码质量和可维护性。

正文完