Sonarqube 假阳性-测试应包括断言-S2699

Sonarqube 假阳性-测试应包括断言-S2699,sonarqube,Sonarqube,我们有很多代码(不是全部代码),其中有一个问题因为没有断言而被报告,但它确实存在于测试方法中 获取冲突的示例代码: @Test public void successfullValidation() throws ErrorInfo_Exception { AgencyInfoServiceResponse agencyResponse = new AgencyInfoServiceResponse(); AgencyInfoServiceResponseHeader header

我们有很多代码(不是全部代码),其中有一个问题因为没有断言而被报告,但它确实存在于测试方法中

获取冲突的示例代码:

@Test
public void successfullValidation() throws ErrorInfo_Exception {
   AgencyInfoServiceResponse agencyResponse = new AgencyInfoServiceResponse();
   AgencyInfoServiceResponseHeader header = new AgencyInfoServiceResponseHeader();
   header.setCmdStatus("Success");
   header.setCmdType("response");
   agencyResponse.setAgencyInfoServiceResponseHeader(header);
   assertTrue(validator.validate(agencyResponse));
}
但是,如果我将验证器拉入一个变量并断言该变量为true,那么冲突就会消失。 assertTrue导入为:
import static org.junit.Assert.assertTrue

我正在使用SonarQube 6.4.0.25310和SonarJava 4.10.0.10260


为什么说我没有断言?

这应该包括在内。SonarJava插件的最新版本是4.11.0.10660。你也可以试试吗?语义引擎似乎无法解析方法
validator.validate()
。您确定在分析过程中为测试源提供了
验证器
类的字节码吗?如果引擎无法访问解析
验证器
类型,它也将无法解析
asserTrue()
方法。已更新到版本4.11.0.10660,此问题将继续。我会仔细看看字节码是否可用,但我不知道为什么不可用。