Boost test CTest和多测试二进制文件

Boost test CTest和多测试二进制文件,boost-test,ctest,Boost Test,Ctest,我有一个基于Boost.Test的测试套件,通常将多个测试组合成一个二进制文件 如果将它们与CTest分开运行,则会得到一个XML文件,每个二进制文件有一个条目,这在CI输出中不够详细。有一种方法可以让CTest查询测试二进制文件并单独运行测试,这会产生很好的结果,但也会大大增加测试时间 是否有一种“混合模式”方法,我可以告诉CTest一起运行存在于同一二进制文件中的多个测试,并且仅在组合测试报告失败时运行子集 例如,有九个条目,每个条目对应于注册为add\u test()的二进制文件。每个二进

我有一个基于Boost.Test的测试套件,通常将多个测试组合成一个二进制文件

如果将它们与CTest分开运行,则会得到一个XML文件,每个二进制文件有一个条目,这在CI输出中不够详细。有一种方法可以让CTest查询测试二进制文件并单独运行测试,这会产生很好的结果,但也会大大增加测试时间

是否有一种“混合模式”方法,我可以告诉CTest一起运行存在于同一二进制文件中的多个测试,并且仅在组合测试报告失败时运行子集


例如,有九个条目,每个条目对应于注册为
add\u test()
的二进制文件。每个二进制文件都会运行多个测试,让CTest单独报告这些测试的唯一方法是指示它为每个子测试调用一次二进制文件,这会耗费大量时间。

如果您能澄清“我得到一个XML文件,每个二进制文件有一个条目,这在CI输出中不够详细”@Raffi,我有九个二进制文件执行300个测试。CTest报告有九个条目,除非我指示CTest为每个包含的测试运行每个二进制文件一次,这需要一些时间。因为您使用的是Boost.test,所以可以完全绕过CTest并使用Boost.test生成JUnit XML报告,Jenkins可以获取该报告。请参阅@sakra,不完全-如果其中一个测试崩溃,并且还有其他测试不是基于Boost.Test的(主要是语言集成测试,其中我们的代码是通过脚本调用的)。@simon richter:谢谢。让Boost.Test生成XML输出而不是CTest怎么样?Test将为每个测试用例生成一个机器可解析的XML。ctest输出用于跟踪每个
add_test
命令的结果。如果您能澄清“我得到一个XML文件,每个二进制文件有一个条目,这在CI输出中不够详细”@Raffi,我有九个二进制文件执行300个测试,那就太好了。CTest报告有九个条目,除非我指示CTest为每个包含的测试运行每个二进制文件一次,这需要一些时间。因为您使用的是Boost.test,所以可以完全绕过CTest并使用Boost.test生成JUnit XML报告,Jenkins可以获取该报告。请参阅@sakra,不完全-如果其中一个测试崩溃,并且还有其他测试不是基于Boost.Test的(主要是语言集成测试,其中我们的代码是通过脚本调用的)。@simon richter:谢谢。让Boost.Test生成XML输出而不是CTest怎么样?Test将为每个测试用例生成一个机器可解析的XML。ctest输出用于跟踪每个
add\u test
命令的结果。