Clion + GoogleTest实现单元测试
环境准备
下载googletest源码
https://github.com/google/googletest/releases/tag/release-1.10.0

应用到项目
这里只使用googletest功能:

CmakeList.txt
# cmake最低版本号要求
cmake_minimum_required(VERSION 3.14)
# 项目名
project(Main)
set(CMAKE_CXX_STANDARD 14)
# 添加头文件
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/googletest/include
)
# 添加下级目录,生成.a文件
add_subdirectory(./googletest)
# 添加连接库
link_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
${CMAKE_CURRENT_SOURCE_DIR}/googletest
)
set(SOURCE_FLIES
main.cpp
lib/add.cpp
include/add.h
)
# 指定可执行文件的生成位置
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin")
# 指定生成目标
add_executable(MainTest ${SOURCE_FLIES})
# 将目标文件与库文件进行链接
target_link_libraries(MainTest gtest)
add.h和add.cpp就是一个简单的求和函数
main.cpp:
#include "add.h"
#include "gtest/gtest.h"
TEST(TestCase,test1 ){
ASSERT_EQ(12,add(4,8));
}
TEST(TestCase,test2){
EXPECT_EQ(5,add(2,3));
}
TEST(TestCase,test3){
EXPECT_EQ(3,add(1,2));
}
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
执行效果(也可以单独执行某个case)

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?