对于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
我检查了路径,它们应该没问题(除非我误解了在哪里推荐)。
我正在使用:
我有什么错过配置或任何其他建议吗?
修改 我用一个更明显的规则违规测试了它:
在switch语句中执行默认情况
并添加了以下代码行:
var someString: string = "1";
switch (someString) {
case "1":
/* code */
break;
}
SonarQube会识别这些新行,但不会在此处报告规则违规行为。