代码之家  ›  专栏  ›  技术社区  ›  Mark Tyers

如何从终端中的google测试套件中获取c++代码超量?

  •  1
  • Mark Tyers  · 技术社区  · 7 年前

    我已经开始使用 谷歌测试 我正在构建到CI管道中的单元测试工具。是否有一个在shell中运行的代码覆盖工具,允许我设置阈值并将其作为作业添加到管道中?

    作为参考,我来自NodeJS背景,并使用以下管道:

    1. 短绒(eslint)
    2. 单元测试(jasmine)
    3. 代码覆盖率(伊斯坦布尔覆盖率和伊斯坦布尔支票覆盖率)

    我正在挣扎的是第三步。在NodeJS中,我可以设置可接受的阈值,如果不满足这些阈值,作业就会失败。

    我希望能将其复制到我的C++代码中。这可能吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Rene    7 年前

    代码覆盖率未链接到您使用的测试框架。

    在Linux上使用C++时,您必须使用特殊标志来编译软件以启用代码覆盖率,例如,使用g++时,您必须设置参数 --coverage (还建议禁用所有优化)。

    然后,当您运行测试程序时,您将得到许多包含覆盖率数据的文件。然后可通过以下方式收集和评估这些信息:。 lcov .
    lcov公司 可以使用结果创建HTML页面,但也可以将覆盖率分析的总数打印到 stdout lcov公司 ,根据测量的百分比过滤输出并报告错误或故障。

    顺便说一句,您可以设置 lcov公司 定义覆盖率是否足够,但这仅用于HTML输出中的背景色。

    关于这些主题中的每一个,您可以在Stackoverflow找到多个条目,了解如何完成这些任务。