0

我正在为 Java 编写自定义规则。要捕获两个 Tree.KIND 实例(STRING_LITERAL 和 ASSIGNMENT)。有一个特定的行,String Literal 和 Assignment 的逻辑都会引发问题。但是声纳测试抛出错误说

[行号] 出乎意料

该特定行具有注释// 不符合以表示问题。但是测试用例仍然失败,因为相同的错误被两个不同的逻辑捕获。

4

1 回答 1

2

有两种选择如何解决这个问题

  1. 如果可能,尝试以在不同行上检测到每个问题的方式拆分测试代码。在赋值和文字之间放置换行符应该不是很困难。
  2. 您可以使用特殊语法来表示该问题是预期的,通过使用Noncompliant@+[offset]语法与不合规注释的给定偏移量,其中[offset]替换为整数。这样,您可以通过使用一个// Noncompliant注释和一个带有偏移表示法的注释来指示该行有两个问题。 // Noncompliant@+1 int x = "Hello".length(); // Noncompliant
于 2017-06-15T12:56:11.893 回答