即使我尝试使用带有测试的非常简单的控制台应用程序,我也无法在打开封面工作中获取过滤器参数。这是过滤器 - 我作为管理员运行
此:
"C:\Users\Mojo\AppData\Local\Apps\OpenCover\OpenCover.Console.exe"
-output:c:\coverage.xml -register:user
-target:"C:\TEMP\sonarqube-5.1\xunitRunner\xunit.console.exe"
-targetargs:"ConsoleApp.Tests.dll"
-filter:"+[ConsoleApp.*]* -[ConsoleApp.Tests]*"
产生这个:
No results, this could be for a number of reasons. The most common reasons are:
1) missing PDBs for the assemblies that match the filter please review the
output file and refer to the Usage guide (Usage.rtf) about filters.
2) the profiler may not be registered correctly, please refer to the Usage
guide and the -register switch.
但是,如果我在没有过滤器的情况下运行它,我会得到覆盖结果:
"C:\Users\Mojo\AppData\Local\Apps\OpenCover\OpenCover.Console.exe"
-output:c:\coverage.xml -register:user
-target:"C:\TEMP\sonarqube-5.1\xunitRunner\xunit.console.exe"
-targetargs:"ConsoleApp.Tests.dll"
Committing...
Visited Classes 8 of 101 (7.92)
Visited Methods 20 of 305 (6.56)
Visited Points 52 of 1099 (4.73)
Visited Branches 27 of 958 (2.82)
==== Alternative Results (includes all methods including those without corresponding source) ====
Alternative Visited Classes 9 of 108 (8.33)
Alternative Visited Methods 28 of 416 (6.73)
我的控制台正在执行项目目录中的语句。
有人可以帮忙吗?
由于 中号
答案 0 :(得分:5)
默认情况下,如果您不提供过滤器参数OpenCover,则会应用一些默认过滤器。
如果您提供过滤器,则排除过滤器优先,然后包含最终排除默认值的过滤器。
过滤器的第一部分是模块[]
(通常这是除文件扩展名之外的程序集的名称),后一部分是名称空间/类型过滤器。
在不知道程序集/命名空间的所有名称的情况下,很难说出您的过滤器应该是什么,但请尝试
-filter:"+[ConsoleApp]* -[ConsoleApp.Tests]*"
或
-filter:"+[*]* -[ConsoleApp.Tests]*"