@[toc]
1、环境准备
- 注意版本匹配,我本地是g++ 8.1.0 的,最开始装了GoogleTest最新版1.10.0结果发现不能用,又回去下载旧的版本。
- g++ 8.1.0 应该可以使用 Google Test 1.8.1 版本。
Github下载地址:,一般下第一个就行了。
2、CLion创建项目
创建项目,测试可以运行。
修改CMakeLists.txt文件
# CMakeLists.txt
# 本项目的Cmake配置
cmake_minimum_required(VERSION 3.16)
project(MyProject)
# 1、设置 Google Tesk 的版本号,头文件路径,链接库路径
set(GTEST_VERSION 1.10.0)
add_subdirectory(googletest)
include_directories(googletest/include)
# 2、设置 Google Mock 的路径,头文件路径,链接库路径
set(GMOCK_DIR googletest/googlemock)
include_directories(${GMOCK_DIR}/include)
link_directories(${GMOCK_DIR}/build)
# 3、将测试代码添加到可执行文件中
add_executable(MyTest main.cpp q.cc q.h)
# 4、链接 googletest 库
target_link_libraries(MyTest gtest gtest_main)
# 5、链接 Google Mock 的链接库
target_link_libraries(MyTest gmock gmock_main)
- 然后在当前目录新建googletest文件夹,把下载到的压缩包整个解压进去:
3、编写测试用例
注意看这里的代码:
# 3、将测试代码添加到可执行文件中
add_executable(MyTest main.cpp q.cc q.h)
main.cpp,这里是测试框架。
#include <gtest/gtest.h>
TEST(HelloTest, BasicAssertions) {
EXPECT_STRNE("hello", "world");
EXPECT_EQ(7 * 6, 42);
}
q.cc,这里是要测试的代码
#include "add.h"
int add(int n1,int n2)
{
return n1+n2;
}
q.h,这里是要测试的代码的函数声明
//
// Created by gwj11 on 2023/6/25.
//
#ifndef MYPROJECT_ADD_H
#define MYPROJECT_ADD_H
int add(int n1,int n2);
#endif //MYPROJECT_ADD_H
这样就可以回到main.cpp中运行了。
4、复杂测试用例
像下面这种,这样的四件套,github下载过来的,也是可以用的
一个错误的测试例子。可以跳转显示具体的报错位置。