如何使用CMake和CTest提供参数?

4
在使用 CTest 运行测试时,我应该使用以下命令添加要运行的测试:

add_test(TestName ExeName)

问题是如果我想向TestName提供一个参数,我应该把它放在哪里? 在这种情况下,我该如何在Unix命令行中单独运行ctest而不使用cmake?

2个回答

3
在CMakeLists.txt文件中插入以下命令:
ENABLE_TESTING()

接下来添加测试:
add_test(testname Executable args)

要确定可用的测试,您可以始终运行以下命令:
ctest -N

第二种指定测试的方法是使用显式的测试编号选项-I:
ctest -I 3

将运行测试编号3。


2

参数与命令行中一样,跟在可执行文件名称后面传递。

enable_testing()

add_test(FirstTest app.exe 100)
add_test(SecondTest app.exe 200)
add_test(ThirdTest app.exe 300)

可以使用-I选项基于测试的“索引”运行测试。

ctest -I 2,3

使用-R选项还可以根据测试名称运行特定的测试。

ctest -R "Second"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接