title: Is Google Mock a good mocking framework?
body: <p>I am pioneering unit testing efforts at my company, and need need to choose a mocking framework to use. I have never used a mocking framework before. We have already chosen Google Test, so using Google Mock would be nice. However, my initial impressions after looking at <a href="http://code.google.com/p/googlemock/wiki/ForDummies" rel="noreferrer">Google Mock's tutorial</a> are:</p>
  
  <ul>
  <li>The need for re-declaring each method in the mocking class with a MOCK_METHODn macro seems unnecessary and seems to go against the DRY principle.</li>
  <li>Their matchers (eg, the '_' in EXPECT_CALL(turtle, Forward(_));) and the order of matching seem almost too powerful. Like, it would be easy to say something you don't mean, and miss bugs that way.</li>
  </ul>
  
  <p>I have high confidence in google's developers, and low confidence in my own ability to judge mocking frameworks, never having used them before. So my question is: <strong>Are these valid concerns?</strong> </p>
  
  <p>Or is there no better way to define a mock object, and are the matchers intuitive to use in practice? I would appreciate answers from anyone who has used Google Mock before, and comparisons to other C++ frameworks would be helpful.</p>