小编Kev*_*rom的帖子

SonarQube 测试自定义 Java 规则无法显示语义信息

我正在学习 SonarQube 的 API,试图扩展 java 插件规则。我成功地遵循了本教程

现在我想构建一个简单的分析来检查toString() 单元测试中是否使用了某个方法。

public class TS_SensitiveEqualityCheck extends BaseTreeVisitor implements JavaFileScanner {

  private final Deque<Boolean> methodContainsToStringInAssert = new ArrayDeque<Boolean>();
  private final Deque<Boolean> inUnitTest = new ArrayDeque<Boolean>();

  private JavaFileScannerContext context;

  @Override
  public void scanFile(final JavaFileScannerContext context) {
    this.context = context;
    scan(context.getTree());
  }

  @Override
  public void visitMethod(MethodTree methodTree) {
    if (ModifiersUtils.hasModifier(methodTree.modifiers(), Modifier.ABSTRACT)) {
      return;
    }
    boolean isUnitTest = isUnitTest(methodTree);
    inUnitTest.push(isUnitTest);
    System.out.println("For method " + methodTree.simpleName() 
    + " found [isUnitTest | isViolation] :  " 
    + String.valueOf(isUnitTest)); …
Run Code Online (Sandbox Code Playgroud)

java sonarqube

4
推荐指数
1
解决办法
1626
查看次数

标签 统计

java ×1

sonarqube ×1