code-coverage相关内容

如何在嵌入式上进行代码覆盖

我为非 POSIX 嵌入式系统编写了一个项目,所以我不能使用 gcc 选项 --coverage(我没有读或写).我还能做些什么来产生类似 gcov 的输出.我确实有输出功能. 解决方案 它可以通过具有嵌入式跟踪的处理器、暴露跟踪端口的电路板设计以及合适的硬件调试器和相关软件来轻松完成.例如,许多基于 Cortex-M 的设备包括 ARM 的嵌入式跟踪宏单元 (ETM),Keil 的 uV ..
发布时间:2022-01-25 12:53:44 其他开发

是否可以将来自两个可执行文件的覆盖率数据与 gcov/gcovr 合并?

在一个项目中,我在三个不同的可执行文件上运行测试用例,并使用不同的选项进行编译.根据选项,是否采用某些代码路径.现在,我只使用来自一个可执行文件的覆盖率数据. 我正在使用 gcovr 生成一个 XML,然后由 Sonar 解析: gcovr -x -b -r .--object-directory=调试/测试>覆盖报告.xml 我有三组 gcda 和 gcno 文件,但我不知道如何生成它 ..
发布时间:2022-01-23 21:01:49 其他开发

此函数是否在所有控制路径上都有明确的返回值?

我有一个 Heaviside 阶跃函数,以任何数据类型的统一为中心,我已经编码使用: 模板int h1(const T& t){如果(t = 1){返回 1;}} 在代码审查中,我的审查者告诉我,并非所有控制路径都明确返回.编译器也没有警告我.但我不同意;条件是互斥的.我该如何处理? 解决方案 这取决于模板的使用方式.对于一个 int,你很好. 但是,如果 ..
发布时间:2022-01-19 14:51:57 C/C++开发

切换的 eclemma 分支覆盖率:19 个中的 7 个未命中

我有这个开关系统,我正在使用 eclemma 来测试分支覆盖率.我们需要对所有内容至少有 80% 的分支覆盖率,所以我正在尝试尽可能多地进行测试.然而,eclemma 告诉我这个交换机系统在分支覆盖方面没有经过全面测试. pos = p.getCurrentPosition().substring(0, 1);开关(位置){案例“G":守门员++;休息;案例“D":防御++;休息;案例“M":中 ..
发布时间:2022-01-19 10:34:24 Java开发

从 Postman 测试生成声纳代码覆盖率报告

有谁知道是否可以(以及如何)从 Postman 集成测试执行中生成代码覆盖率? 我们有基于 Postman 的集成测试,并通过 Windows shell 命令在 Jenkins 上执行它们.令人沮丧的是,我们不知道如何生成代码覆盖率报告并将其发布到 SonarQube. 非常感谢您! 解决方案 您可以在 localhost 环境中运行测试,这样将照常测量覆盖率.实际上,这是一 ..
发布时间:2022-01-17 22:10:24 其他开发

如果项目质量门失败,如何在 sonarqube 5.1+ 上使用 Build Breaker

我正在使用 Jenkins 持续集成 服务器和 Sonarqube 进行代码覆盖.我想确保如果项目中的问题达到 Quality Gate 的 threshold 值,则项目构建应该会失败.我在 Sonarqube 中安装了 Build Breaker 插件.我在某处读到它默认适用于每个项目,并将构建失败报告发送到 CI 服务器(在我的例子中是 Jenkins). 但这并没有发生.即使问题已达 ..

未找到 ID 为“org.sonarqube"的插件

我正在尝试使用 gradle 为我的项目实施代码覆盖率测量的声纳.我们正在使用 gradle-4.0.1 和 sonarqube-6.4 . 当我从命令行运行 gradle sonarqube 时出现此错误- 未找到 ID 为“org.sonarqube"的插件. 我尝试了一些代码更改,但没有成功,请帮助.我的 build.gradle 文件如下 - buildscript {分机{s ..
发布时间:2022-01-17 21:52:26 其他开发

客户端/服务器 Web 应用程序的代码覆盖率

我正在编写一个多模块应用程序.一些模块只是基本的 Java 库,然后包含在 webapp 的 WAR 中. 我想在以下场景中运行代码覆盖: 我正在通过一个通过 Maven 启动的嵌入式 Jetty 运行 webapp. 我有针对 webapp 执行 HTTP 请求的测试. 我想获得包含在 webapp 和测试中的代码. 这可能吗?如何使用 Cobertura、JaCo ..
发布时间:2022-01-17 21:51:47 Java开发

使用 Jenkins Sonar 插件构建成功后,Sonar 不显示代码覆盖率

我正在尝试使用 Sonar 和 Jenkins 获得代码覆盖率.我看到 Jenkins 的 Sonar 插件成功执行 JUnit 测试用例并成功完成构建.但是 Sonar 没有在项目中显示代码覆盖率结果(总是显示 0.0% 作为代码覆盖率).但 Sonar 确实显示“单元测试成功". 我正在将 Maven 与 Jenkins 和 Sonar 一起使用. 执行 Sonar 插件时,我在 ..
发布时间:2022-01-17 21:48:54 其他开发

声纳中的代码覆盖率和行覆盖率有什么区别

我知道行覆盖和分支覆盖有什么区别,但是代码覆盖和行覆盖有什么区别?是以前的指令覆盖吗? 解决方案 Coverage 是一个微妙的 ;-) 线和分支覆盖率的混合. 您可以在我们的指标描述页面上找到公式: 覆盖率 = (CT + CF + LC)/(2*B + EL)在哪里CT - 至少一次评估为“真"的分支CF - 至少一次评估为“假"的分支LC - 覆盖线 (lines_to_co ..
发布时间:2022-01-17 21:46:34 其他开发

当覆盖范围减少时,SonarQube 质量门失败

我正在使用 SonarQube 4.3 并尝试让质量门(以前称为警报)工作,当集成测试覆盖率自上次分析以来下降时失败. 有人知道怎么去吗? 解决方案 好的,就是这样.设置“覆盖,自上次分析以来的增量,小于,0".如果这会导致错误,则“0"进入错误字段.谢谢迪斯科3 ..
发布时间:2022-01-17 21:40:27 其他开发

将多个 .NET Core 项目的测试覆盖率从 Azure DevOps 发布到 SonarQube 服务器

我有一个带有两个 xunit 测试项目的 .net 核心解决方案.构建在 Azure DevOps 管道上运行,我想将测试覆盖率发布到 SonarQube(社区)服务器. 我基本上遵循了这个blog post 几乎可以工作了,问题是我只看到了最后一个测试项目的覆盖率,而不是两者. 我可能错了,但是从 this issue 我猜我需要合并我的 *.coveragexml 文件在发送到 S ..
发布时间:2022-01-17 21:36:48 其他开发

SonarQube - integrationTest.exec - sonarRunner (Gradle) 或“sonar-runner"命令 - 显示 0.0% 的覆盖率

在运行基于 Gradle 的构建和集成测试后,我在“build/jacoco"文件夹中成功生成了 Jacoco 的 2 个 .exec 文件. Gradle 命令:"gradle clean build integrationTest" 完成后,它会在 build/jacoco 文件夹下生成以下 .exec 文件. test.exec integrationTest.exec ..
发布时间:2022-01-17 21:30:15 其他开发

声纳-全面覆盖

Sonar 给出了总覆盖率的值,它是线路和分支覆盖率的组合.我不确定这个指标有多重要.整体覆盖的价值意味着什么?它如何优于线路和分支覆盖?任何的意见都将会有帮助. 解决方案 来自 Sonar 的文档: 它是线路覆盖和条件覆盖的混合.它的目标是对以下问题提供更准确的答案:如何单元测试已经覆盖了大部分源代码? 覆盖率 = (CT + CF + LC)/(2*B + EL)在哪里CT = ..
发布时间:2022-01-17 21:27:39 其他开发

配置 Sonar 以查看集成测试 (v6.2)

如何在 Sonar 中可视化集成测试? 目前我只看到: 全球覆盖(UT + IT) UT的数量 我在某处读到我们必须在 GUI 中配置一个小部件:我没有看到任何可以做到这一点的选项. 文档说明: 如果单元测试的覆盖率不是用 JaCoCo 计算的,总体而言覆盖率 = 集成测试覆盖率. 但就我而言,当我更改我的 UT(或 IT)时,我发现覆盖范围正在发生变化.此外 ..
发布时间:2022-01-17 21:26:08 其他开发