My favorites | Sign in
Google
                
People details
Project owners:
  chandlerc, vladlosev, zhanyong.wan
Project committers:
mierle, markus.heule, tsunanet, nnorwitz

Welcome to Google C++ Mocking Framework!

Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s specifics in mind, Google C++ Mocking Framework (or Google Mock for short) is a library for writing and using C++ mock classes. Google Mock:

We have enjoyed using Google Mock in many projects at Google, and hope you find it useful too!

System Requirements

Google Mock is not a testing framework itself. Instead, it needs a testing framework for writing tests. Google Mock works seamlessly with Google Test. It comes with a copy of Google Test bundled, or you can use a compatible version that you have already installed. Starting with version 1.1.0, you can also use it with any C++ testing framework of your choice.

Google Mock depends on advanced C++ features and thus requires a more modern compiler. It has been tested with gcc 4.0+ on Linux and Mac OS X, and Microsoft Visual C++ 8.0 SP1 on Windows. Users reported that it also works with gcc 3.4 and Cygwin, although we haven't tested it there ourselves.

To use Google Mock, you will need the TR1 tuple C++ library installed. This library comes with gcc 4.0+. If you use other compilers, you can download a copy of TR1 implemented by the Boost project (we have tested it with Boost version 1.36.0.).

Since Boost is quite large, we provide a package in the Downloads section that contains only the Boost files necessary for Google Mock. You can download this instead of the full Boost library.

Getting Started

If you are new to the project, we suggest to read the user documentation in the following order:

You can also watch Zhanyong's talk on Google Mock's usage and implementation.

Once you understand the basics, check out the rest of the docs:

If you need help, please check the KnownIssues and FrequentlyAskedQuestions before posting a question on the googlemock discussion group.

We'd love to have your help! Please read the DevGuide if you are willing to contribute to the development.

Happy mocking!