【问题标题】:How to do code coverage in cmake如何在 cmake 中进行代码覆盖
【发布时间】:2015-06-10 17:16:37
【问题描述】:

我想在我的 cmake 项目中使用代码覆盖工具 (lcov)。 我在这里阅读了示例https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake 使用 'add_test()' cmake 函数将测试添加到我的项目中。

我想创建一个自定义目标,称为“test_coverage”,当被调用执行时应该运行所有测试,收集它们的覆盖率数据并在目录“code_coverage”中生成 html(使用 genhtml)。

有没有办法获得项目中所有测试的列表及其目录路径,以便在自定义目标“test_coverage”中单独执行每个测试并收集其覆盖率数据?

【问题讨论】:

标签: cmake ctest


【解决方案1】:

您可以从命令行执行“ctest -VV”,如果所有测试都是使用 add_test 创建的,则所有测试都将执行。

如果您希望自定义构建目标执行相同操作,可以使用以下代码:

add_custom_target(run_tests
   COMMAND "ctest -VV" )

我有很多用于代码覆盖率和单元测试的 cmake 代码要展示,但是在这里复制/粘贴没有意义,因为听起来你才刚刚开始。

【讨论】:

    猜你喜欢
    • 2012-01-23
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 2011-05-11
    • 2019-05-06
    相关资源
    最近更新 更多