忽略Sonar的一行

时间:2016-03-02 07:45:56

标签: sonarqube

声纳抱怨一条线。

Thread.sleep(SLEEP_TIME); // NOSONAR

问题在于

  

不应在测试中使用“Thread.sleep”

     

在测试中使用Thread.sleep通常是一个坏主意。它创建了脆弱的测试,根据环境(“我的机器上的通行证!”)或负载,可能会无法预测地失败。

这是有道理的,这应该是固定的。但我的问题是:为什么NOSONAR部分在这里没有任何影响?它似乎适用于使用它的代码的其他部分,例如与

public static final String PASSWORD_FILE_NAME = "secret.txt"; // NOSONAR

它不再抱怨代码中有硬编码的密码。那么为什么它不适用于Thread.sleep()情况?

我可以在SonarQube和IntelliJ的SonarLint插件中看到这个问题。

1 个答案:

答案 0 :(得分:3)

您基本上遇到了这个问题:https://jira.sonarsource.com/browse/SONARJAVA-1113

在测试中没有考虑// NOSONAR

最新版本的声纳java插件发行版(3.11)已修复此问题

(另一方面,使用NOSONAR并不是很好的IMO,你应该跟踪你不想使用SonarQube修复的问题,而不是使用链接到特定外部工具的注释来混淆你的代码)