SonarQube没有检测到cs代码中的重复

时间:2016-09-06 09:05:59

标签: c# msbuild sonarqube

我正在测试SonarQube,这段代码存在于测试项目中:

public class Widgetor
{
    internal static int SelectValue(int ret)
    {
        switch(ret)
        {
            case 0: return 1;
            case 4: return 7;
            case -1: return 2;
            case 2: return -1;
            default: return 0;
        }
    }
    internal static int SelectValue_Copy(int ret)
    {
        switch (ret)
        {
            case 0: return 1;
            case 4: return 7;
            case -1: return 2;
            case 2: return -1;
            default: return 0;
        }
    }
}

我正在使用MSBuild Runner和MSBuil 14运行SonarQube 5.6版。

我无法找到有关如何配置代码发布检测项目的任何帮助。据我所知,这应该是开箱即用的一部分。 项目概述显示" 0%"重复的代码。

我发现this answer并没有真正告诉我任何事情。

1 个答案:

答案 0 :(得分:3)

SonarQube Duplications documentation提供了很好的见解:

  

一条代码被认为是重复的,只要有至少100个连续且重复的标记(可以用属性sonar.cpd。$ {language} .minimumTokens覆盖)至少10行代码(可以是用属性sonar.cpd。$ {language} .minimumLines)覆盖。

因此,在示例中添加几个 case 会触发重复检测。