我想设置覆盖范围扩展,以便我的测试代码在项目概述中不会被报告为未经测试。
我正在使用SonarQube 7.0版(内部版本36138)和Visual Studio 2015项目。结果是在jenkins上运行的跑步者报告的。
我使用在SonarQube服务器上设置通用代码覆盖规则。
Administration
- > Configuration
- > General Settings
- > Analysis Scope
- > Code Coverage
- > Code Exclusions
我将规则设置为**/_Test*/**/*.*
工具提示读取这将是sonar.coverage.exclusions
根据Narrowing The Focus使用的密钥**
。
我的期望是我使用的模式匹配。
_Test*
个或多个目录,然后是以**
开头的目录,后跟*.*
零个或多个目录,最后匹配所有文件MySolution/_TestQ1/Component/MyComponentTest.cs
然而,即使我重新运行该项目,也不会应用此规则。
文件
<IfModule mod_headers.c>
<If "%{QUERY_STRING} =~ /page=edit_page/ && %{REQUEST_METHOD} =~ /POST/">
Header set X-XSS-Protection "0"
</If>
</IfModule>
仍然会进入报告。
有没有办法快速测试我的规则? 我的统治是否存在根本性的问题? 如何排除测试?
答案 0 :(得分:1)
我使用的是6.7版本,但我相信这也适用于7.0版本。
基本上,如果你去管理&gt;配置&gt;一般设置&gt;用于MSBuild的扫描仪,您将看到测试项目模式,如:
[^\\]*test[^\\]*$
有信息:
DEPRECATED - 在扫描仪中使用'sonar.msbuild.testProjectPattern'键 对于MSBuild(客户端)而不是。正则表达式与测试匹配 项目文件路径(.NET语法)
键: sonar.cs.msbuild.testProjectPattern
这些是您应该添加/修改测试项目模式的地方。