我已经浏览了Opencover wiki文档,并尝试了很多方法来找出不将测试汇编作为代码覆盖的一部分的过滤标准。问题在这里
例如,我有许多程序集以样本名称开头,如sample.submodule.assembly1.dll, sample.submodule.assembly2.dll,我的测试程序集也以sample.submodule.tests.dll开头,这里我应用了openCover的过滤标准 1。-filter: "+[sample*]* -[*tests]*"
它不工作,不生成报告文件。
-filter: "+[sample*]* -[sample.submodule.tests]*"
不工作,不生成报告文件,-filter: "+[sample*]* -[*]*tests*"
不工作,不生成报告文件,
谁能告诉我这里的过滤标准是什么,以便从代码覆盖中排除所有测试文件
首次运行不带任何过滤器的OpenCover
现在您可以查看生成的XML报告(或者您可以使用ReportGenerator将其转换为HTML)并识别您希望排除的程序集/模块。
现在你可以使用过滤器开关来应用过滤器,例如
-filter:"+[*]* -[*.tests]* -[*.Tests]*"
注::
与第一个"
之间无空格
或
"-filter:+[*]* -[*.tests]* -[*.Tests]*"
如果你正在谈论使用visual studio nunit适配器编写单元测试,那么你有开放的覆盖UI visual studio扩展可用于所有这些目的。真是太棒了。
步骤1)从最新版本构建https://github.com/opencover/opencover/releases安装opencover步骤2)通常它会安装C:Usersgoma1940AppDataLocalAppsOpenCover (%localappdata%AppsOpenCover)3)安装VS Extn从画廊https://visualstudiogallery.msdn.microsoft.com/6950a046-8919-4935-8542-c6f37956f688步骤4)您已经打开了覆盖测试浏览器,并打开了覆盖结果窗格,如下所示…