Table of Contents

如何计算测试覆盖率

如何进行单元测试中可以了解基本的测试工具和测试方法。 这里将详细介绍如何使用特定的配置和工具完善测试率的计算。

1. 代码覆盖率配置

进行覆盖率计算时可以通过指定配置文件.runsettings来管理一些繁琐的配置。 一份推荐的.runsettings配置文件如下:

注意 : 推荐使用.runsettings 这个文件名,方便被后续的覆盖率可视化工具识别。注意.coding-ci.yaml中的coverage指定文件也需要指定为.runsettings

<?xml version="1.0" encoding="utf-8" ?>
<RunSettings>
	<DataCollectionRunSettings>
		<DataCollectors>
			<DataCollector friendlyName="XPlat code coverage">
				<Configuration>
					<Format>cobertura</Format>
					<ExcludeByAttribute>Obsolete</ExcludeByAttribute>
					<ExcludeByFile>**/Migrations/*.cs,**/*.Design.cs</ExcludeByFile><!-- Globbing filter -->
					<SingleHit>false</SingleHit>
					<UseSourceLink>true</UseSourceLink>
					<IncludeTestAssembly>false</IncludeTestAssembly>
					<SkipAutoProps>true</SkipAutoProps>
					<DeterministicReport>false</DeterministicReport>
				</Configuration>
			</DataCollector>
		</DataCollectors>
	</DataCollectionRunSettings>
</RunSettings>

2. 代码覆盖率工具

Visual Studio 企业版中自带了代码覆盖率工具,可以忽略本节内容。

为了更方便的查看测试覆盖的实际效果,可以通过Visual Studio进行查看, 社区版中没有自带代码覆盖率工具,需要安装第三方工具。

  1. 安装

    在Visual Studio的插件中搜索 Run Coverlet Report,安装即可。

    或者通过Market place 下载对应的插件。

  2. 使用

    开始使用前,首先打开[Tools]-[Options]-[Run Coverlet Report], 设置 Use Run Settings选项为True,此时将默认使用.sln 所在目录下的.runsettings文件。

    Options

    配置完成之后,通过[Tools]-[Run Code Coverage]即可执行代码覆盖率测试。

    Run

    Report

    如果开启了[Toggle Code Coverage Highlighting],则可以在代码中看到覆盖率的具体情况。 Toggle

    HighLighting