是否有一种方法可以用CTest报告junit xml格式的结果?我已经找到了--output-junit
命令行开关,但运行ctest --output-junit testRes.xml
不创建输出文件…
ctest——output-junit testRes.xml不创建输出文件…
这是一个相对较新的功能,你只需要更新你的CMake/CTest到v.3.21.4或更高(参考https://cmake.org/cmake/help/v3.21/manual/ctest.1.html)
同样的问题。我没有深入研究它。但我想有一个方便的解决方案:让CMake调用test executable与本机选项旨在生成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报告。