ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

C++单元测试实战:Google Test从入门到精通,面试必考的测试驱动开发全解析

C++单元测试实战:Google Test从入门到精通,面试必考的测试驱动开发全解析 C++单元测试实战:Google Test从入门到精通,面试必考的测试驱动开发全解析引言单元测试是C++程序员的必备技能,也是大厂面试的加分项。Google Test(gtest)作为C++最流行的测试框架,掌握它对于保证代码质量至关重要。本文将系统讲解Google Test的使用方法,帮你掌握测试驱动开发(TDD)的核心技巧。一、Google Test基础1.1 安装与配置# 下载Google Testgitclone https://github.com/google/googletest.gitcdgoogletestmkdirbuildcdbuild# 编译安装cmake..-DCMAKE_INSTALL_PREFIX=/usr/localmake-j4sudomakeinstall# CMakeLists.txt配置# find_package(GTest REQUIRED)# include_directories(${GTEST_INCLUDE_DIRS})# target_link_libraries(your_test GTest::gtest GTest::gtest_main)1.2 第一个测试// math_utils.h#pragmaonceintadd(inta,intb);intsubtract(inta,intb);intmultiply(inta,intb);doubledivide(inta,intb);// math_utils.cpp#include"math_utils.h"#includestdexceptintadd(inta,intb){returna+b;}intsubtract(inta,intb){returna-b;}intmultiply(inta,intb){returna*b;}doubledivide(inta,intb){if(b==0)throwstd::invalid_argument("Division by zero");returnstatic_castdouble(a)/b;}// math_utils_test.cpp#includegtest/gtest.h#include"math_utils.h"// 基本测试TEST(MathUtilsTest,AddTest){EXPECT_EQ(add(2,3),5);EXPECT_EQ(add(-1,1),0);EXPECT_EQ(add(0,0),0);}TEST(MathUtilsTest,SubtractTest){EXPECT_EQ(subtract(5,3),2);EXPECT_EQ(subtract(0,5),-5);}TEST(MathUtilsTest,MultiplyTest){EXPECT_EQ(multiply(3,4),12);EXPECT_EQ(multiply(-2,3),-6);EXPECT_EQ(multiply(0,100),0);}TEST(MathUtilsTest,DivideTest){EXPECT_DOUBLE_EQ(divide(10,2),5.0);EXPECT_DOUBLE_EQ(divide(7,2)
返回列表