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)

图片名称

原文地址:https://www.cnblogs.com/shmilyt/p/17442123.html