单选题
研发云中,在JAVA代码怎样执行单元测试以获得覆盖率?
A
A.测试中心新建测试用例并执行
B
B.执行编译构建流水线
C
C.执行编译构建+sonar扫描的流水线
D
D.执行编译构建(启用单元测试及jacoco插件)+sonar扫描的流水线
答案解析
正确答案:D
解析:
这道题是关于如何在Java代码中执行单元测试以获得代码覆盖率的。我们来解析一下各个选项:
A. 测试中心新建测试用例并执行
这个选项描述的是手动创建和运行测试用例的过程,它并没有提到使用工具来自动计算代码覆盖率。
B. 执行编译构建流水线
仅执行编译构建流水线通常只包括编译源代码以及可能的打包步骤,并不涉及运行单元测试或测量代码覆盖率。
C. 执行编译构建+sonar扫描的流水线
SonarQube(简称Sonar)是一个用于持续检测代码质量的平台,它可以分析代码并提供质量指标。然而,要得到覆盖率数据,还需要在单元测试阶段收集这些数据。这个选项没有提及单元测试和覆盖率插件。
D. 执行编译构建(启用单元测试及jacoco插件)+sonar扫描的流水线
这个选项是最完整的。它不仅包含了编译构建过程,还明确提到了启用单元测试,并且使用了JaCoCo插件来收集覆盖率信息。JaCoCo是一个广泛使用的Java代码覆盖率库,它可以生成覆盖率报告。之后,通过Sonar扫描可以将覆盖率数据集成到SonarQube的质量报告中。
因此,正确答案是 D,因为它涵盖了从单元测试到覆盖率收集再到质量报告生成的整个流程,确保能够获取到准确的代码覆盖率数据。
A. 测试中心新建测试用例并执行
这个选项描述的是手动创建和运行测试用例的过程,它并没有提到使用工具来自动计算代码覆盖率。
B. 执行编译构建流水线
仅执行编译构建流水线通常只包括编译源代码以及可能的打包步骤,并不涉及运行单元测试或测量代码覆盖率。
C. 执行编译构建+sonar扫描的流水线
SonarQube(简称Sonar)是一个用于持续检测代码质量的平台,它可以分析代码并提供质量指标。然而,要得到覆盖率数据,还需要在单元测试阶段收集这些数据。这个选项没有提及单元测试和覆盖率插件。
D. 执行编译构建(启用单元测试及jacoco插件)+sonar扫描的流水线
这个选项是最完整的。它不仅包含了编译构建过程,还明确提到了启用单元测试,并且使用了JaCoCo插件来收集覆盖率信息。JaCoCo是一个广泛使用的Java代码覆盖率库,它可以生成覆盖率报告。之后,通过Sonar扫描可以将覆盖率数据集成到SonarQube的质量报告中。
因此,正确答案是 D,因为它涵盖了从单元测试到覆盖率收集再到质量报告生成的整个流程,确保能够获取到准确的代码覆盖率数据。
相关知识点:
研发云Java测覆盖率步骤
