cmake命令之add_test和set_tests_properties使用案例

本文详细介绍了CMake中用于构建测试的命令`enable_testing()`, `add_test()`以及`set_tests_properties()`。通过一个具体的C++案例,展示了如何配置和运行测试。主要内容包括设置测试名称、指定命令、配置工作目录以及定义测试属性。最后,提供了编译和执行测试的步骤,以及测试成功与否的输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

add_test的命令形式如下

add_test(NAME <name> COMMAND <command> [<arg>...]
         [CONFIGURATIONS <config>...]
         [WORKING_DIRECTORY <dir>]
         [COMMAND_EXPAND_LISTS])

set_tests_properties的命令形式如下

set_tests_properties(test1 [test2...] 
PROPERTIES prop1 value1 prop2 value2)

我见过的cmake工具测试的套路之一如下

首先,启动测试 enable_testing()

其次,add_test(...)

接下来,set_tests_properties(...)

案例目录如下

.
├── build
├── CMakeLists.txt
└── main.cpp

main.cpp的内容如下

#include<stdlib.h>
#include<stdio.h>

using namespace std;

int sum(int a, int b)
{
>---return a+b;
}

int main(int argc, char* argv[])
{
>---if(3 == argc)
>---{
>--->---cout << "parameter right" << endl;
>--->---cout << sum(atoi(argv[1]), atoi(argv[2])) << endl;
>---}
>---else
>---{
>--->---cout << "input num err" << endl;
>--->---return -1; 
>---}

>---return 0;
}

CMakeLists.txt的内容如下

#最小版本说明
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)

#项目信息
PROJECT(main)

#生成可执行文件
ADD_EXECUTABLE(main main.cpp)

#使能测试
enable_testing()

#添加测试
add_test(demo_test main 2 3)

#设定测试特性
set_tests_properties(demo_test PROPERTIES PASS_REGULAR_EXPRESSION "5")

build是编译目录,方便编译出错时,清除生成的缓存文件

cd build  //进入编译目录
cmake ..   //编译主目录的CMakeLists.txt
make        //编译生成的MakeFile.txt
make test   //执行CMakeLists.txt里的测试

执行结果如下图所示

参考文献如下

cmake的帮助文档的网址

https://cmake.org/cmake/help/v3.21/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青草地溪水旁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值