首页 > 其他分享 >CMake使用知识点之三——测试 用例

CMake使用知识点之三——测试 用例

时间:2024-07-24 10:18:28浏览次数:7  
标签:Test1 知识点 tests Test2 CMake 用例 add test1 main

知识点积累

1 内部宏

  • ${PROJ_SOURCE_DIR}:

2 单元测试

代码

cmake_minimum_required(VERSION 3.10)
project(ExampleProject)

# 启用测试
enable_testing()

# 添加可执行文件 main(如果有主程序的话)
add_executable(main main.cpp)

# 添加测试可执行文件 test1 和 test2
add_executable(test1 test1.cpp)
add_executable(test2 test2.cpp)

# 添加测试用例
add_test(NAME Test1 COMMAND test1)
add_test(NAME Test2 COMMAND test2)

# 如果有更多测试用例,可以继续添加
# add_executable(test3 test3.cpp)
# add_test(NAME Test3 COMMAND test3)


#include <iostream>

int main() {
    std::cout << "Main Program" << std::endl;
    return 0;
}


#include <iostream>

int main() {
    std::cout << "Running Test 1" << std::endl;
    return 0; // 返回 0 表示测试通过
}


#include <iostream>

int main() {
    std::cout << "Running Test 2" << std::endl;
    return 0; // 返回 0 表示测试通过
}

ctest

Test project /path/to/build
    Start 1: Test1
1/2 Test #1: Test1 ..................   Passed    0.00 sec
    Start 2: Test2
2/2 Test #2: Test2 ..................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 2


set_tests_properties(Test1 PROPERTIES TIMEOUT 10)
set_tests_properties(Test2 PROPERTIES DEPENDS Test1)


set_tests_properties(Test1 PROPERTIES LABELS "unit")
set_tests_properties(Test2 PROPERTIES LABELS "integration")


ctest -L unit 

总结

通过在 CMakeLists.txt 文件中添加多个 add_test 命令,你可以轻松地管理和运行多个测试用例。CTest 的灵活性允许你设置各种测试属性和标签,以便更好地组织和运行测试。

标签:Test1,知识点,tests,Test2,CMake,用例,add,test1,main
From: https://www.cnblogs.com/gwzz/p/18320258

相关文章

  • [2024JZYZ暑期集训]知识点总结
    前言第三次暑期集训了,与前两次不同,这次没有前两次的激动了,所以也能够更深入地学习算法。闲话宿舍挺好,有空床能住。捡了三块钱,史上最灵异事件。R班好热闹。认识了几个郑州那边的大佬知识点Day1讲了几个基础数据结构(树状数,线段树),作业里面的题目很多之前都做过,就当复习了。......
  • CMake使用方法(详细版)上
    目录CMake是什么如何配置使用方法基本流程使用cmake的示例只有源文件搜索文件set的使用头文件和源文件分离包含头文件变量操作生成动态库和静态库制作静态库制作动态库链接库文件日志参考CMake是什么         CMake是一个跨平台的项目构建工具,它......
  • 知识清单|Python入门必备基础知识点
    1.数据类型和变量1.1缩进和注释的规则Python使用缩进来表示代码块,通常使用四个空格或一个制表符。注释使用#开头。1.2基本数据类型Python支持多种基本数据类型,包括整数、浮点数、字符串、布尔值和空值。1.3变量的动态类型和赋值Python是动态类型语言,变量可......
  • 力扣第二题——两数相加(链表的讲解与运用,含解决链表问题模板)(含思路详解、完整代码与知
    内容介绍给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。示例1:输入:l1=[2,4,3],......
  • Python入门知识点 5--流程控制语句
    先来分享一个pycharm使用小技巧   红色波浪线:提醒可能报错   黄色波浪线:提醒书写不规范,ctrl+alt+l去掉黄线   code--Reformatcode,就可以去掉黄线,调整代码格式1、程序三大执行流程(1)顺序执行        程序执行时,代码从上往下,从左往右执行,中间......
  • C语言指针易混淆知识点总结
    指针定义指针是一个变量,存储另一个变量的内存地址,它允许直接访问和操作内存中的数据,使得程序能够以更灵活和高效的方式处理数据和内存。获取变量地址:使用取地址符&。访问地址上的数据:使用解引用符*。例子1指针是存储另一个变量地址的变量。通过使用取地址符&和解引用符......
  • 7/22 课堂知识点总结
    斐波那契数列解法用数组来一个一个寸为什么不用递归?递归层数太多,容易爆栈系统栈:2mb一般的递归层数:2*\(10^4\)//正常解法for(inti=3;i<=n;i++)a[i]=a[i-1]+a[i-2];时间复杂度:O(n).//递归解法intf(intx){if(x==1||x==2)re......
  • 位运算知识点概览
    前言计算机位运算是处理整数值的基本操作,直接在二进制位上进行操作。理解位运算的要点对于编程和优化代码非常有用。以下是位运算的主要操作和一些常见的应用:1.基本位运算操作与运算(AND)&将两个数的对应位进行逻辑与操作。例子:0101&0011=0001或运算(OR)|将两个数的对......
  • SD模块知识点
    一、销售公司组织架构公司代码(四位编码)销售组织分销渠道产品组科目表(Chartofaccount和Companycode间是一对多的关系)-公司代码-销售组织-分销渠道-产品组二、销售范围和工厂以及公司的关系图一个销售组织只能对应一个公司。但一个公司可以对应多个销售组织。一个销......
  • IDEA中用junit写基本测试用例
    前提:使用Maven管理依赖参考文档:https://www.liaoxuefeng.com/wiki/1252599548343744/1304048154181666https://segmentfault.com/a/1190000044666588首先在pom.xml中增加junit依赖,然后刷新Maven<!--junit依赖--><dependency><groupId>org.junit.jupiter</groupI......