kevin_CTest
CTest 单元测试学习
Gitee库: https://gitee.com/bigearrabbit/kevin_ctest.git
示例多是从网页文章上摘取的,大部分记录在下面,或者源码内。供学习参考。
CTest
学习Catch2 框架
- 单个文档的测试架构,使用方便,
- 据说 使用率排第二
- CSDN 文章 catch2:一个好用的C++单元测试框架
- 视频教程 https://www.bilibili.com/video/BV1pz4y1i7Lm
GoogleTest
- 学习Google Test框架
- 据说 使用率排第一
使用说明
google test sample
参考:
-
CMake C++开发 windows 下 googletest 模板项目教程搭建
-
GoogleTest使用教程
编译和运行测试
- clone代码:
git clone https://gitee.com/bigearrabbit/kevin_ctest.git
- 检出子模块
使用小乌龟或命令行检出子模块
[submodule "3rdParty/googletest"]path = 3rdParty/googletesturl = https://github.com/google/googletest.git
- 编译
- 在项目的根目录下创建一个构建目录,配置项目,构建项目并运行测试:
mkdir build
cd build
cmake ..
。。。。
- 或 用Vscode打开项目,Cmake编译即可,已经配置好了
- 启动测试
可以只编译一个测试:
- 火箭🚀在哪里,应该只运行哪个
- 这个锤子🔨在某个项目上,编译就只编译这个
-
运行
在TESTING模块里面可以选择全运行或者只运行某个测试。
-
CMakeLists里面运行
这里可以逐个运行测试
-
底部工具条控制:
这个在icon模式时没有出来,compact可以
解决错误:
- gtest.lib(gtest-all.cc.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值
参考: https://blog.csdn.net/l1216766050/article/details/128571511
# 使用来全局设置运行时库。
set(CMAKE_CXX_FLAGS_DEBUG "/MTd")
set(CMAKE_CXX_FLAGS_RELEASE "/MT")