SonarTsPlugin不考虑规则

时间:2017-03-28 07:45:14

标签: typescript jenkins sonarqube measurement tslint

对于Angular2项目,我想对其进行测量。我对这些事情很陌生。

我将SonarTsPlugin集成到SonarQube。但由于某些原因,规则不适用于源代码。根据报告,绝对没有违规。所以我怀疑并故意违反以下规则:

  不得使用

==和!= - 使用===或!==而不是

使用以下代码行:

    if (res.statusCode == 0) {

      //do something

    } else if (res.statusCode == -1) {

      //do something different

    };

我可以看到SonarQube正在考虑相应的TypeScript文件。所以我预计会有至少一个规则违规行为。此外,我使用Jenkins进行测量,但我不相信错误就在那里。输出显示它成功运行

我的 sonar-project.properties 如下所示:

sonar.projectKey=my.project
sonar.projectName=my-project
sonar.projectVersion=0.0.1-Snapshot
sonar.sourceEncoding=UTF-8
sonar.sources={ProjectPath}/ng-cli/src/app
sonar.exclusions={ProjectPath}/ng-cli/node_modules/**, 20_sourcecode/DDS_Client/ng-cli/src/app/*.spec.ts
sonar.tests={ProjectPath}/ng-cli/src/app
sonar.test.inclusions={ProjectPath}/ng-cli/src/app/*.spec.ts
sonar.ts.tslint.configPath={ProjectPath}/ng-cli/tslint.json

我没有自定义规则。在SonarQube中,我已经定义了TSLint的路径:

{Path}/tslint/bin/tslint

我检查了路径,它们应该没问题(除非我误解了在哪里推荐)。

我正在使用:

  • SonarQube :5.6.5
  • SonarTsPlugin: v1.1.0-RC1
  • tslint: 4.3.0
  • Jenkins: 1.598(如有必要)

我有什么错过配置或任何其他建议吗?

修改 我用一个更明显的规则违规测试了它:

  

在switch语句中执行默认情况

并添加了以下代码行:

var someString: string = "1";
switch (someString) {
   case "1":
      /* code */
      break;
}

SonarQube会识别这些新行,但不会在此处报告规则违规行为。

0 个答案:

没有答案