GoogleTest+VS code编译和编写简单测试用例
前言
在B站看了非常多Gtest的教学视频,上gtest博客也特别多,但是都非常陈旧或者根本不是用vscode。本篇目的在于,说明如何在vscode上编写简单单元测试。 软件:vscode 2023
一、安装gtest
- 下载googletset源码:git clone https://gitcode.net/mirrors/google/googletest.git 原repo:https://github.com/google/googletest下载特别慢,用上面镜像就好
- cd googletest
- mkdir build && cd build
- cmake -DCMAKE_CXX_STANDARD=17 …
- make
- sudo make install
二、 编译gtest与运行单元测试
第一种编译方式
- 配置文件 建立gtest_example工程文件夹,下面新建两个文件夹include、src。 把第二步编译好的googletest中的googletest/include/gtest文件夹拷贝到gtest_example/include;googletest/include/gmock文件夹拷贝到gtest_example/include;/googletest/build/lib文件夹拷贝到gtest_example/。 在gtest_example/src文件夹下新建main.cpp,main.cpp内容如下: (单元测试如何写,自行百度,内容太复杂。)
#include <gtest/gtest.h> #include <iostream> using namespace std; int add(int a,int b){ return a+b; } TEST(testCase1,test_add_method){ EXPECT_EQ(add(1,2),3); } int main(int argc, char **argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
在gtest_example/文件夹下新建CMakeLists.txt,CMakeLists.txt内容如下:
cmake_minimum_required(VERSION 3.21) project(gtest_gmock) include_directories(./include DIR_INC) set(CMAKE_CXX_STANDARD 17) link_directories(./lib) add_executable(gtest_gmock src/main.cpp) target_link_libraries(gtest_gmock libgtest.a libgtest_main.a pthread)
2. 编译和运行 依次点击vscode下方工具条1(选择“debug模式”)和2,完成编译;点击3,运行。 运行结果:
第二种编译方式
在src上新建main.cpp,内容如上。cd src,g++ main.cpp -lgtest -pthread完成编译。在src文件夹生成了a.out文件,执行./a.out实现单元测试。