googletest/googlemock
Abseil Team 8fa9461cc2 Fix FunctionMocker compilation slowdown in 9d21db9e0a
The slowdown appears to be due to an implicit conversion of distinct (yet semantically identical) lambdas to `std::function`. Lifting out the lambdas into functors that don't get re-instantiated reduces compilation times by nearly half.

Fixes #4156

PiperOrigin-RevId: 523447948
Change-Id: Ib0ae0761a54d7b1f2b706b14b2858eedf47e2297
2023-04-11 10:55:11 -07:00
..
cmake Ensure that gtest/gmock pkgconfig requirements specify version 2020-03-21 06:38:09 -04:00
docs Googletest export 2021-01-13 20:59:12 -05:00
include/gmock Fix FunctionMocker compilation slowdown in 9d21db9e0a 2023-04-11 10:55:11 -07:00
src Use "#ifdef GTEST_OS_..." instead of "#if GTEST_OS_..." 2023-03-06 07:14:21 -08:00
test gtest.cc: add a newline after a failure when there is no OS stack trace. 2023-03-22 20:19:44 -07:00
CMakeLists.txt Split gmock-matchers_test into 4 smaller test #3653 2022-03-23 09:08:04 -07:00
README.md Googletest export 2021-09-15 13:34:06 -04:00

Googletest Mocking (gMock) Framework

Overview

Google's framework for writing and using C++ mock classes. It can help you derive better designs of your system and write better tests.

It is inspired by:

It is designed with C++'s specifics in mind.

gMock:

  • Provides a declarative syntax for defining mocks.
  • Can define partial (hybrid) mocks, which are a cross of real and mock objects.
  • Handles functions of arbitrary types and overloaded functions.
  • Comes with a rich set of matchers for validating function arguments.
  • Uses an intuitive syntax for controlling the behavior of a mock.
  • Does automatic verification of expectations (no record-and-replay needed).
  • Allows arbitrary (partial) ordering constraints on function calls to be expressed.
  • Lets a user extend it by defining new matchers and actions.
  • Does not use exceptions.
  • Is easy to learn and use.

Details and examples can be found here:

GoogleMock is a part of GoogleTest C++ testing framework and a subject to the same requirements.