文章目录
- 介绍
- Ubuntu安装
- centos7 安装gtest
- 使用方法
- 包含gtest/gtest.h头文件
- 使用TEST()宏定义测试用例
- 使用Google Test断言进行值检查
- 使用RUN_ALL_TESTS()宏运行测试
- 测试代码
介绍
Google Test(也称为gtest)是Google开发的一个用于C++的单元测试库。
它允许开发者方便地编写和运行测试用例,以确保代码的正确性和健壮性。
GoogleTest 提供了一系列的断言宏,如 ASSERT_, EXPECT_ 等,用于验证代码的行为。
Google Test 的特点
- 易用性:Google Test 提供了一个简单易用的API,让开发者能够快速编写测试用例。
- 强大的断言:提供了丰富的断言宏来检查各种条件是否满足。
- 详细的失败报告:当测试失败时,Google Test 能够给出详细的失败信息,便于调试。
- 灵活的测试组织:支持测试的分组和命名空间,使得大型项目也能很好地组织测试用例。
- 跨平台:可以在多种操作系统上运行,包括 Windows, Linux, Mac OS X 等。
Ubuntu安装
当前环境
下载
https://github.com/google/googletest/archive/release-1.8.0.tar.gz
或者
https://gitee.com/mirrors/googletest/
解压
tar -xzvf googletest-release-1.8.1.tar.gz
cmake .
make
make install
centos7 安装gtest
当前环境
下载
https://github.com/google/googletest/archive/release-1.8.0.tar.gz
或者
https://gitee.com/mirrors/googletest/
解压
tar -xzvf googletest-release-1.8.1.tar.gz
cmake .
make
使用方法
包含gtest/gtest.h头文件
在测试文件中,首先需要包含Google Test的头文件gtest/gtest.h。
使用TEST()宏定义测试用例
TEST(TestSuiteName, TestName) {
// 测试代码
}
- TestSuiteName是测试套件的名称,用于将相关的测试用例分组在一起;
- TestName是具体测试的名称,通常用于描述测试的目的。
使用Google Test断言进行值检查
Google Test提供了一系列的断言宏,如EXPECT_EQ、EXPECT_NE、ASSERT_EQ等,用于在测试体中检查预期值和实际值是否一致。这些断言宏能够帮助你验证代码的行为是否符合预期。
使用RUN_ALL_TESTS()宏运行测试
使用RUN_ALL_TESTS()宏来运行所有定义的测试用例。这个宏会返回一个整数,表示测试运行的结果。如果所有测试都通过了,它会返回0;如果有测试失败,它会返回非0值
测试代码
#include <gtest/gtest.h>
#include <unistd.h>
// 定义一个简单的加法函数
int add(int a, int b) {
return a + b;
}
// 使用TEST()宏定义测试用例
TEST(AddTest, PositiveNumbers) {
EXPECT_EQ(add(1, 2), 3); // 预期add(1, 2)的结果为3
}
TEST(AddTest, NegativeNumbers) {
EXPECT_EQ(add(-1, -2), -3); // 预期add(-1, -2)的结果为-3
}
// 主函数,用于运行所有测试用例
int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv); // 初始化Google Test
return RUN_ALL_TESTS(); // 运行所有测试用例
}
编译
g++ test_add.cpp -o test_add -lgtest
运行