如何单元测试代码覆盖率

本文关键字:代码覆盖率 单元测试 | 更新日期: 2023-09-27 18:32:01

我的团队正在创建一个 ASP.NET 的MVC应用程序。我们正在使用脚手架来帮助我们创建实体。脚手架将创建模型、存储库、控制器和我们拥有的其他一些类。它还为实体搭建了基本测试套件的基架。目前正在测试所有基架代码。

我想要的是一个单元测试,如果某个类的代码覆盖率低于某个值,则单元测试失败。例如,控制器和存储库需要尽可能接近 100% 的覆盖率。这些类也将得到进一步开发,我希望进行检查以确保添加到其中的代码正在测试中。

我分别使用Xunit和Moq进行测试和模拟。

如何实现代码覆盖率测试?

如何单元测试代码覆盖率

我们最近在 TFS 2015 服务器上实现了类似的用例。 它有点粗糙,因为我们没有测量特定命名空间的覆盖率,我们只是测试以确保覆盖率总体上不会降低。 对我们来说,这确保了如果开发人员添加任何代码,则必须覆盖它,否则整体指标会降低。

我们的 ALM 小组编写了一个 PowerShell 脚本,用于从 TFS 读取覆盖范围数字,并将当前版本的覆盖范围与以前的版本进行比较。 如果它较低,则构建失败。 他们将脚本添加到测试后脚本路径,以便在生成期间运行它。