![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
GoogleTest
文章平均质量分 95
gtest和gmock用法总结
General_G
谦虚,宽容,感恩,敬畏
展开
-
GoogleTest之Actions的用法
/ 2 这里不正确,编译报错TODO EXPECT_CALL(foo , ComplexJob(_)) . WillOnce(Invoke(& helper , & mock_action :: Helper :: ComplexJob)) // 3 . WillOnce([ ] {});使用全局自由函数,注意函数签名要一致这里有问题,编译出错,需要解决。原创 2023-06-12 23:37:44 · 532 阅读 · 0 评论 -
GoogleTest之Matchers的用法
匹配某些结合的值,可以使用AllOf(), AllOfArray(), AnyOf(), AnyOfArray() and Not()区分相同参数个数但不同参数类型,使用Matcher(),或者类型使用。通过Const()区分重载的const和非const函数。精准匹配:使用::testing::Return。将Matchers作为谓词使用。简单匹配:返回值在某个范围。多个参数作为一个整体匹配。根据参数执行不同的行为。原创 2023-06-05 13:54:24 · 988 阅读 · 0 评论 -
GoogleTest之创建Mock
mock是用来模拟对象隔离边界的一种测试方法,以便在开发阶段不需要依赖第三方或其他依赖项可以进行独立的测试。原创 2023-06-01 22:40:46 · 1823 阅读 · 2 评论 -
GoogleTest之设置期望
创建一个mock对象mock_object,这个对象有一个名为method_name的方法,方法的参数为matchers…EXPECT_CALL必须在任何mock对象之前使用。原创 2023-05-29 22:26:01 · 1541 阅读 · 0 评论 -
gest之高级主题
要想验证,这两种情况下对不同的类型有着相同的测试逻辑,如果使用TEST 或者 TEST_F会显得相当冗长,此时可以使用typed tests。如果包含了global set-up/tear-down,也是会重复执行,为了避免重复执行全局set-up/tear-down,使用–gtest_recreate_environments_when_repeating=false。测试套是按顺序执行的,如果想随机无须执行,可以指定命令行参数–gtest_shuffle或者环境变量GTEST_SHUFFLE。原创 2023-05-06 15:41:54 · 1174 阅读 · 0 评论 -
GoogleTest之断言
gtest中assert的头文件: gtest/gtest.hEXPECT_和ASSERT_两种形式,EXPECT_产生非致命错误,ASSERT_产生致命错误并中断当前函数;所有断言宏支持使用重载原创 2023-05-05 18:51:42 · 2939 阅读 · 1 评论 -
GoogleTest之primer
:testing::InitGoogleTest() 解析命令行参数,必须要在RUN_ALL_TESTS()前调用,详细信息参考https://google.github.io/googletest/advanced.html。gtest在pthreads库中被设计为是线程安全的,在其他情况下多线程下是不安全的,大多数情况下断言只在main线程中执行,所以不会有问题,如果要支持多线程安全需要使用gtest-port.h中的同步机制。如果要使用main,就需要返回RUN_ALL_TESTS()原创 2023-05-05 16:54:01 · 1663 阅读 · 0 评论 -
GoogleTest之test
gtest中的测试宏TEST,TEST_F, TEST_P, TYPED_TEST, TYPED_TEST_SUITE_P, TYPED_TEST_P, FRIEND_TEST, SCOPED_TRACE, GTEST_SKIP和gtes中定义的类和函数归纳总结原创 2023-04-28 22:08:35 · 470 阅读 · 0 评论