Xamarin Studio 上的代码覆盖率
Code coverage on Xamarin Studio
是否有可靠的工具可以帮助我们衡量单元测试的代码覆盖率?我主要从事 Xamarin 项目(在 Xamarin Studio 中)。
为了不让-1 成堆,我环顾四周,但找不到足够成熟可靠的东西。我不要求产品是免费的(但如果是的话当然更好!)
没有内置的代码覆盖工具,但幸运的是有很多工具可以帮助您:What can I use for good quality Code Coverage for C#/.NET?
我将 OpenCover 与 ReportGenerator (https://github.com/danielpalme/ReportGenerator) 一起使用,我真的很满意。
据我所知,无法在 IDE.
中显示 covered/uncovered 行
Mono 4.x 行中有代码覆盖率分析器(自 2015 年 4 月 7 日提交以来)。
如果您进行移动测试,它对您没有帮助,但如果您在桌面平台上进行 运行 单元测试,您可以为 Mono 提供分析器选项:
--profile=log:coverage
coverage enable collection of code coverage data
covfilter=ASSEMBLY add an assembly to the code coverage filters
add a + to include the assembly or a - to exclude it
filter=-mscorlib
covfilter-file=FILE use FILE to generate the list of assemblies to be filtered
在正常的 "exe" 处理中,您最终得到:
Coverage Summary:
xCorFlags (/Users/administrator/monocov/lib/xCorFlags.exe) 26% covered (42 methods - 11 covered)
<Module> ?% covered (0 methods - 1 covered)
CorFlags.CorFlagsSettings 25% covered (4 methods - 1 covered)
CorFlags.MainClass 50% covered (2 methods - 1 covered)
CorFlags.CommandLineParser 40% covered (20 methods - 8 covered)
因此,将配置文件选项传递给基于 cmd 行的运行器(nunit、xunit 等),您可以获得覆盖范围的概览。
为了获得详细的覆盖率结果并完全集成到 IDE(如 VS),我对 OS-X/Linux for C# 的了解甚至与 Windows/ 上可用的工具不相上下。网。 :-(
关于删除旧的 mono-cov 和添加覆盖率分析器的提交信息:
Git 关于 cov 删除和日志覆盖过滤器添加的日志信息:
commit 16570265149730ec6a4760cc0fa34decc1a9d981
Author: Alex Rønne Petersen <alexrp@xamarin.com>
Date: Tue Apr 7 14:51:27 2015 +0200
[profiler] Remove old mono-cov profiler.
We're replacing this with coverage support in the log profiler.
commit e91693fbb87f687a2fdb5a495c945c1872b3066c
Author: iain holmes <iain@xamarin.com>
Date: Fri Feb 27 10:13:54 2015 +0000
[cov] Install a coverage filter
是否有可靠的工具可以帮助我们衡量单元测试的代码覆盖率?我主要从事 Xamarin 项目(在 Xamarin Studio 中)。
为了不让-1 成堆,我环顾四周,但找不到足够成熟可靠的东西。我不要求产品是免费的(但如果是的话当然更好!)
没有内置的代码覆盖工具,但幸运的是有很多工具可以帮助您:What can I use for good quality Code Coverage for C#/.NET?
我将 OpenCover 与 ReportGenerator (https://github.com/danielpalme/ReportGenerator) 一起使用,我真的很满意。
据我所知,无法在 IDE.
中显示 covered/uncovered 行Mono 4.x 行中有代码覆盖率分析器(自 2015 年 4 月 7 日提交以来)。
如果您进行移动测试,它对您没有帮助,但如果您在桌面平台上进行 运行 单元测试,您可以为 Mono 提供分析器选项:
--profile=log:coverage
coverage enable collection of code coverage data
covfilter=ASSEMBLY add an assembly to the code coverage filters
add a + to include the assembly or a - to exclude it
filter=-mscorlib
covfilter-file=FILE use FILE to generate the list of assemblies to be filtered
在正常的 "exe" 处理中,您最终得到:
Coverage Summary:
xCorFlags (/Users/administrator/monocov/lib/xCorFlags.exe) 26% covered (42 methods - 11 covered)
<Module> ?% covered (0 methods - 1 covered)
CorFlags.CorFlagsSettings 25% covered (4 methods - 1 covered)
CorFlags.MainClass 50% covered (2 methods - 1 covered)
CorFlags.CommandLineParser 40% covered (20 methods - 8 covered)
因此,将配置文件选项传递给基于 cmd 行的运行器(nunit、xunit 等),您可以获得覆盖范围的概览。
为了获得详细的覆盖率结果并完全集成到 IDE(如 VS),我对 OS-X/Linux for C# 的了解甚至与 Windows/ 上可用的工具不相上下。网。 :-(
关于删除旧的 mono-cov 和添加覆盖率分析器的提交信息:
Git 关于 cov 删除和日志覆盖过滤器添加的日志信息:
commit 16570265149730ec6a4760cc0fa34decc1a9d981
Author: Alex Rønne Petersen <alexrp@xamarin.com>
Date: Tue Apr 7 14:51:27 2015 +0200
[profiler] Remove old mono-cov profiler.
We're replacing this with coverage support in the log profiler.
commit e91693fbb87f687a2fdb5a495c945c1872b3066c
Author: iain holmes <iain@xamarin.com>
Date: Fri Feb 27 10:13:54 2015 +0000
[cov] Install a coverage filter