Sonarqube 什么是;通过测试,线路应具有足够的覆盖范围;什么意思?

Sonarqube 什么是;通过测试,线路应具有足够的覆盖范围;什么意思?,sonarqube,automated-tests,Sonarqube,Automated Tests,我用SonarQube 6.3分析了一个项目,它给了我一个错误: 测试还需要覆盖32行代码才能达到最小值 65.0%线路覆盖率的阈值 这与规则有关: 通过测试,线路应具有足够的覆盖率 我想知道这条规则是否涵盖了我所做的所有类型的测试,或者是一个特定的测试,或者它是否意味着SonarQube无法到达这些线进行分析 我问这个的原因是我根本没有测试,所以这个问题消息可能意味着SonarQube可以识别其他线路的一些测试,但事实并非如此,那么这怎么可能发生呢 从6.2开始,SonarQube能够识别代码

我用SonarQube 6.3分析了一个项目,它给了我一个错误:

测试还需要覆盖32行代码才能达到最小值 65.0%线路覆盖率的阈值

这与规则有关:

通过测试,线路应具有足够的覆盖率

我想知道这条规则是否涵盖了我所做的所有类型的测试,或者是一个特定的测试,或者它是否意味着SonarQube无法到达这些线进行分析


我问这个的原因是我根本没有测试,所以这个问题消息可能意味着SonarQube可以识别其他线路的一些测试,但事实并非如此,那么这怎么可能发生呢

从6.2开始,SonarQube能够识别代码文件中的“可执行行”,无论文件中是否有任何测试。您的分析仪还必须支持并提供该功能。我猜您使用的是提供数据的analyzer版本,这就是计算单元测试未涉及的这些文件的缺失覆盖率的地方

请注意,在添加此功能之前,情况如下

+--------------+-----------+-------+
|     File     | Cvd lines | Cvg % |
+--------------+-----------+-------+
| 100LineFile  |        75 |   75  |
+--------------+-----------+-------+
| Total        |        75 |   75  |
+--------------+-----------+-------+

因为没有被任何单元测试触及的文件被简单地从计算中省略,从而给出了一个虚假的总体覆盖率的美好画面。现在看起来是这样的:

+--------------+-----------+-------+
|     File     | Cvd lines | Cvg % |
+--------------+-----------+-------+
| 100LineFile  |        75 |   75  |
| 100LineFile2 |         0 |    0  |
+--------------+-----------+-------+
| Total        |        75 |   37.5|
+--------------+-----------+-------+

从6.2开始,SonarQube能够识别代码文件中的“可执行行”,无论文件中是否有任何测试。您的分析仪还必须支持并提供该功能。我猜您使用的是提供数据的analyzer版本,这就是计算单元测试未涉及的这些文件的缺失覆盖率的地方

请注意,在添加此功能之前,情况如下

+--------------+-----------+-------+
|     File     | Cvd lines | Cvg % |
+--------------+-----------+-------+
| 100LineFile  |        75 |   75  |
+--------------+-----------+-------+
| Total        |        75 |   75  |
+--------------+-----------+-------+

因为没有被任何单元测试触及的文件被简单地从计算中省略,从而给出了一个虚假的总体覆盖率的美好画面。现在看起来是这样的:

+--------------+-----------+-------+
|     File     | Cvd lines | Cvg % |
+--------------+-----------+-------+
| 100LineFile  |        75 |   75  |
| 100LineFile2 |         0 |    0  |
+--------------+-----------+-------+
| Total        |        75 |   37.5|
+--------------+-----------+-------+

谢谢你的回复,你能解释一下没有单元测试的可执行行是什么意思吗?我看不出它是什么以及SonarQube如何识别它。你不理解@SabrinaS的哪一部分?谢谢你的回答,你能解释一下没有单元测试的可执行行是什么意思吗?我看不出它是什么,也看不出SonarQube是如何识别它的。你不理解@SabrinaS的哪一部分?