如何从开发机器上观察新代码上的代码覆盖范围



Sonarqube是在新代码上查看代码覆盖范围的好工具。假设我们正在研究一个具有旧版代码的项目。(使用C#和Nunit进行单位测试(

开发人员如何确定开发机器新代码上的代码覆盖率中有多少百分比。这样他们就可以比收到Sonarqube的报告更快地添加足够的单位测试。

这是一个示例: - 开发人员正在其开发机上编写代码,他们正在研究不同的代码分支,但应确保添加的新代码涵盖了80%的单位测试(我们不在乎旧的代码,但我们关心新代码( - Sonarqube每天都与CI工具一起运行,以分析"开发"分支中的代码,并在新代码(在报告中(中复制代码覆盖范围。但是,在CI运行之前,开发人员看不到这些信息。 - 我们想要一些工具(或解决方案(,以便开发人员可以直接在Visual Studio中或至少在开发机器中看到新代码上的代码覆盖范围,因此他们会知道他们对代码没有足够的单位测试他们已经写了,他们必须在检查代码到源控件之前添加更多的单位测试。

C#有许多代码覆盖工具,开发人员可以从他们的分支上的桌面运行,在此处查看一些工具。在我的团队中,我们已经在服务器上进行了覆盖范围(我们已经使用了NCOVE(,并且开发人员能够通过网络访问覆盖范围。
正如您提到的,最简单的方法是使用Visual Studio内置代码覆盖范围,但仅适用于企业版本。
其他选择是使用具有VS插件的覆盖范围工具,例如ncover,dotcover或opencover。
这里有很少的观点:
1.工具之间的覆盖范围结果可能有所不同,因为有多种指标和技术来测量它们。
2. 代码覆盖范围远非完美的技术来衡量开发人员测试的质量。我希望开发人员专注于开发他们可能的最佳代码和最佳测试来验证其代码作品,而不是担心人造数字,例如80%的代码覆盖范围,这些代码范围可能不会说质量。代码覆盖工具可能有助于确定改善现有测试和诸如死亡代码之类的方法,但应谨慎使用。

总结:可以从每个开发人员的桌面运行代码覆盖范围,但在我看来,让开发人员专注于覆盖范围并减少对开发质量代码和测试的关注较少。

最新更新