Search code examples
c++googletestgooglemock

What is the difference between gtest and gmock?


I'm trying to understand the purpose of google-mock, Google's C++ mocking framework.

I have already worked with gtest earlier, but still I can't understand what gmock is. Why do we need it?

gtest is used for unit testing. What do we need gmock for then, if gmock is required for unit testing?


Solution

  • "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. Starting with version 1.1.0, you can also use it with any C++ testing framework of your choice. " - Google Mock, System Requirements

    Mock are like objects, defined in such a way to mimick the real-deal by supplying controlled behavior. For instance, to test a stock tick application, you'd create a fake stock data provider that created fake stock quotes to test your code with. Think of the word mock, literally means 'to mimic'.