2016-01-27 215 views
2

我的团队正在创建一个ASP.NET MVC应用程序。我们使用脚手架帮助我们创建实体。脚手架将创建模型,存储库,控制器和我们有的其他类。它还支持实体的基本测试套件。所有的脚手架代码目前正在测试。我如何测试代码覆盖率?

我想要的是,如果某个类的代码覆盖率低于某个特定值,那么该单元测试会失败。例如,Controller和Repository需要覆盖率尽可能接近100%。这些类也将进一步发展,我想要一个检查来确保添加到它们的代码正在被测试。

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

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

+0

ru使用构建/ CI服务器?例如teamcity? – wal

+0

我们通过Visual Studio Online来完成CI。 – RichieACC

+0

好的,你可以在TeamCity中做这种事情(参见http://stackoverflow.com/questions/10296753/how-can-i-fail-a-teamcity-build-if-dotcover-doesnt-report-a-足够高的结果,如果感兴趣)altho给你你在网上VS我不知道什么是可能的 – wal

回答

0

我们最近在我们的TFS 2015服务器上实现了一个类似的用例。它更粗略一点,我们不测量我们测试的特定命名空间的覆盖范围,以确保覆盖率不会降低整体。对我们来说,这可以确保如果开发人员添加任何代码,则必须覆盖其他代码,否则整体指标会降低。

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