【问题标题】:CMake CTest output to JUnit XMLCMake CTest 输出到 JUnit XML
【发布时间】:2021-11-09 12:46:02
【问题描述】:

有没有办法用 CTest 以 junit xml 格式报告结果? 我找到了--output-junit 命令行开关,但运行ctest --output-junit testRes.xml 不会创建输出文件...

【问题讨论】:

    标签: unit-testing junit cmake ctest


    【解决方案1】:

    ctest --output-junit testRes.xml 不创建输出文件...

    这是相对较新的功能,您只需将您的 CMake / CTest 更新到 v.3.21.4 或更高版本(参考https://cmake.org/cmake/help/v3.21/manual/ctest.1.html

    【讨论】:

      【解决方案2】:

      同样的问题。我没有深入研究它。但我想有一个方便的解决方法:让 CMake 调用带有本机选项的测试可执行文件,旨在自行生成 JUnit 报告。

      这种方法可以让您获得尽可能详细的 JUnit 报告。这样的报告将包含每个测试用例的单独日志记录,这些记录在称为可执行文件中,而不是一次完整的可执行文件。我假设在一般情况下 CMake 无法在任何详细级别解析每个测试框架的标准输出以收集任何数据以生成漂亮的 JUnit 报告。

      继续上例,假设我们正在处理基于Boost.Test 的单元测试。然后只需通过以下方式将其添加到CMake项目中

      add_test(
          NAME ${test_name}
          COMMAND ${boost_test_executable_file} --logger=JUNIT,message,${path_to_junit_log}
      )
      

      并获得 JUnit 报告。

      【讨论】:

        猜你喜欢
        • 2020-10-13
        • 2011-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-16
        • 1970-01-01
        相关资源
        最近更新 更多