如何组织 ctest 测试夹具

问题描述

我已经学会了如何将 ctest 与 add_test("base64 conversion" utils.exe) 一起使用,例如 我想知道是否有一种通用模式可以使用相同的可执行文件执行多个测试。 我有一个 util 组件可以做很多事情,例如 base64 编码、base64 解码、base85 编码、base85 解码、自己的计时器测试。所以类是 Base64,Base85,Timer,...

add_test(base64_encoding utils base64_encoding)
add_test(base64_decoding utils base64_decoding)
add_test(base85_encoding utils base85_encoding)
add_test(base85_decoding utils base85_decoding)
add_test(timer_create utils timer_create)
add_test(timer_set_timeout utils timer_set_timeout)

这是一种传入要作为参数执行的测试名称方法,在 utils.exe 中我可以获取 argv[1] 并执行字符串比较以了解要运行的测试。它看起来有点难看,每个测试创建一个可执行目标似乎也很难看,因为我的 utils 中有太多的类,并且每个系列都有 100 个单元测试。 请问有没有一种神奇的方式来组织所有这些? 非常感谢

解决方法

create_test_sourcelist 是要使用的人。多个测试的一个可执行文件