【单元测试】C++单元测试框架Google Test入门之一:初识Gtest_c++ gtest-优快云博客
【单元测试】C++单元测试框架Google Test入门之二:断言_c++ 断言boolexpect-优快云博客
【单元测试】C++单元测试框架Google Test入门之三:事件机制_addglobaltestenvironment-优快云博客
【单元测试】C++单元测试框架Google Test入门之四:参数化-优快云博客
【单元测试】C++单元测试框架Google Test入门之五:死亡测试-优快云博客
【单元测试】C++单元测试框架Google Test入门之六:运行参数_c++test单元测试报告-优快云博客
【单元测试】C++单元测试框架Google Test入门之六:运行参数_c++test单元测试报告-优快云博客
【单元测试】C++单元测试框架Google Test入门之七:深入解析GTEST_c++怎么对一个函数接口进行全面有效的gtest测试呢?需要考虑哪些方面?-优快云博客
https://blog.youkuaiyun.com/weixin_43717839/article/details/128897405?spm=1001.2014.3001.5502
Gtest/Gmock探究(一)-- 经典示例代码_gtest invoke-优快云博客
Gtest/Gmock探究(二)--TEST宏分析_testing::invoke-优快云博客
Gtest/Gmock探究(三)-- MOCK_METHODX系列宏分析_mock method-优快云博客
Google Test(Google Test)支持进行FT测试(功能测试)。Google Test是一个用于C++的单元测试框架,它提供了多种测试方法,包括单元测试和功能测试。在Google Test中,可以进行FT测试主要得益于其提供的测试方法多样性和灵活性。
- 普通测试体:使用
TEST(TEST_SUITE, TEST_NAME)
宏定义的测试体主要用于执行简单的单元测试,检查函数或方法的输出是否符合预期。 - 固定测试:通过
TEST_F
宏定义的测试体,需要继承自testing::Test
类,适用于测试类的成员函数。这种测试体可以用于执行更复杂的测试场景,包括功能测试。通过类的成员变量和成员函数,可以模拟更真实的场景进行功能测试。
TEST_F 和 TEST,
TEST_F提供了一个初始化函数(SetUp)和一个清理函数(TearDown),在TEST_F中使用的变量可以在初始化函数SetUp中初始化,在TearDown中销毁,并且所有的TEST_F是互相独立的,都是在初始化以后的状态开始运行,一个TEST_F不会影响另一个TEST_F所使用的数据。
gtest通过EXPECT_CALL和ON_CALL宏来模拟函数。
gtest是Google提供的一个用于C++的单元测试框架,它提供了一套丰富的测试工具,包括模拟函数的行为。在gtest中,模拟函数的行为主要通过EXPECT_CALL
和ON_CALL
宏来实现。
-
EXPECT_CALL 用于指定对某个函数的具体期望调用,可以设置函数的参数、返回值以及行为。通过
EXPECT_CALL
,可以验证函数是否被正确调用,以及调用的次数。 -
ON_CALL 用于设置函数的默认行为,当测试中未对函数进行具体期望调用设置时,将采用
ON_CALL
中定义的行为。这允许为函数定义一系列预定义的行为,以便在测试中重复使用。
此外,gtest还支持参数化测试,通过模拟函数返回值序列和模拟函数返回函数指针序列,可以进一步扩展测试的覆盖范围。这些功能使得gtest成为一个强大且灵活的单元测试工具,能够帮助开发者有效地测试代码中的函数行为。
使用mock模拟类中的方法。