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