陇南做网站,wordpress get_attached_media,建筑网站登陆页面,网址大全软件下载安装在平常的学习和工作中#xff0c;单元测试是很重要的一环#xff0c;用于验证代码中最小的可测试单元#xff08;通常是函数或方法#xff09;是否按照预期工作#xff0c;单元测试可以帮助开发人员验证代码的正确性和提高代码的可维护性#xff0c;确保代码的稳定性和可… 在平常的学习和工作中单元测试是很重要的一环用于验证代码中最小的可测试单元通常是函数或方法是否按照预期工作单元测试可以帮助开发人员验证代码的正确性和提高代码的可维护性确保代码的稳定性和可靠性。 官网https://github.com/google/googletest 1.googletest googletest是一个开源的C测试框架用于编写和运行单元测试。它是Google开发的一个基于xUnit风格的测试框架旨在提供简单易用的测试工具和丰富的断言库帮助开发者编写可靠的单元测试。 googletest具有以下特点
简单易用使用简单的宏和断言函数可以轻松编写测试用例。支持多种测试风格支持传统的测试风格和新的测试风格如测试夹具TestFixture和参数化测试Parameterized Test。丰富的断言库提供了丰富的断言函数可以方便地进行测试结果的验证。支持测试套件和测试用例的管理可以将多个测试用例组织成测试套件方便管理和执行。支持测试结果的输出和报告可以生成详细的测试结果报告方便查看测试覆盖率和失败的测试用例。
使用googletest可以帮助开发者编写可靠的单元测试提高代码的质量和可维护性广泛应用于C项目中被认为是一个优秀的测试框架。
1.1 下载并安装googletest
$ git clone https://gitee.com/boss-dog/googletest.git
$ cd googletest
$ mkdir build
$ cd build
$ cmake -Dgtest_build_testson -DCMAKE_INSTALL_PREFIX. ..
$ make -jnproc
$ make install官网使用文档说明https://google.github.io/googletest/
2.使用googletest编写测试用例 CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(MyDemo)# 设置C标准
set(CMAKE_CXX_STANDARD 17)# 添加googletest库
add_subdirectory(googletest)# 添加可执行文件
add_executable(test_mathtest_math.cpprobot_math.cpp
)# 链接googletest库
target_link_libraries(test_math gtest_main)robot_math.h
#ifndef ROBOT_MATH_H
#define ROBOT_MATH_Hint add(int a, int b);int sub(int a, int b);int multiply(int a, int b);int divide(int a, int b);#endifrobot_math.cpp
#include robot_math.hint add(int a, int b)
{return a b;
}int sub(int a, int b)
{return a - b;
}int multiply(int a, int b)
{return a * b;
}int divide(int a, int b)
{return a / b;
}test_math.cpp
#include iostream
#include robot_math.h#include gtest/gtest.hTEST(add, test)
{auto res add(10, 5);std::cout add res: res std::endl;
}TEST(sub, test)
{auto res sub(10, 5);std::cout sub res: res std::endl;
}TEST(multiply, test)
{auto res multiply(10, 5);std::cout multiply res: res std::endl;
}TEST(divide, test)
{auto res divide(10, 5);std::cout divide res: res std::endl;
}运行结果