Paul Robinson 48eed2d258 Rotten Green Tests are tests that have assertions that did not
execute, even though they were contained in a test method that has a
Pass result. This patch detects and reports such assertions contained
in a TEST or TEST_F method, if the method result is Pass. Skipped,
disabled, or otherwise not-run tests are not analyzed for rotten
assertions.

By default, Rotten assertions do not count as a failure. Use
`--gtest_treat_rotten_as_pass=0` to make rotten tests into failures.
This is customizable.

Rotten assertions in helper functions are also reported if the overall
result of the test program was Pass.

Currently, TEST_P, TYPED_TEST, and TYPED_TEST_P are treated as if they
were helpers, for Rotten reporting purposes. This can lead to false
positives for these kinds of Test methods, especially if they are
skipped, disabled, or otherwise not run.
2024-05-31 09:10:55 -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 Use std::forward on GoogleTest matcher arguments 2024-05-06 09:48:55 -07:00
src Print mismatches for UnorderedElements() of different sizes. 2024-05-20 07:36:47 -07:00
test Rotten Green Tests are tests that have assertions that did not 2024-05-31 09:10:55 -07:00
CMakeLists.txt Get include dirs from target rather than global variables. 2024-02-11 18:50:28 +01:00
README.md Merge pull request #4349 from sthd:httpToHttps 2023-08-23 09:30:13 -07: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.