CMake CTest输出到JUnit XML

d6kp6zgx  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(193)

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

3zwjbxry

3zwjbxry1#

ctest --output-junit testRes.xml doas not create output file.
这是一个相对较新的功能,您只需要将CMake / CTest更新到v.3.21.4或更高版本(参考https://cmake.org/cmake/help/v3.21/manual/ctest.1.html

c86crjj0

c86crjj02#

同样的问题。我没有深入研究它。但我想有一个方便的解决方法:让CMake调用带有本地选项的测试可执行文件,目的是自己生成JUnit报告。
这种方法可以让你得到尽可能详细的JUnit报告。这样的报告将包含每个 * 测试用例 * 的单独日志记录,这些日志记录在被调用的可执行文件中,而不是一次完整的可执行文件。我的假设是,在一般情况下,CMake不能解析任何详细级别的每个测试框架的标准输出来收集数据,以生成漂亮的JUnit报告。
下面来看这个例子,假设我们正在处理一个基于Boost.Test的单元测试。

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

字符串
并获取JUnit报告。

相关问题