Friday, December 12, 2008

Announcing Google C++ Mocking Framework

Posted by Zhanyong Wan, Software Engineer

Five months ago we open-sourced Google C++ Testing Framework to help C++ developers write better tests. Enthusiastic users have embraced it and sent in numerous encouraging comments and suggestions, as well as patches to make it more useful. It was a truly gratifying experience for us.

Today, we are excited to release Google C++ Mocking Framework (Google Mock for short) under the new BSD license. When used with Google Test, it lets you easily create and use mock objects in C++ tests and rapid prototypes. If you aren't sure what mocks are or why you'll need them, our Why Google Mock? article will help explain why this is so exciting, and the Testing on the Toilet episode posted nearby on this blog gives a more light-hearted overview. In short, this technique can greatly improve the design and testability of software systems, as shown in this OOPSLA paper.

We are happily using Google Mock in more than 100 projects at Google. It works on Linux, Windows, and Mac OS X. Its benefits include:
  • Simple, declarative syntax for defining mocks
  • Rich set of matchers for validating function arguments
  • Intuitive syntax for controlling the behavior of a mock
  • Automatic verification of expectations
  • Easy extensibility through new user-defined matchers and actions
Our users inside Google have appreciated that Google Mock is easy and even fun to use, and is an effective tool for improving software quality. We hope you'll like it too. Interested? Please take a few minutes to read the documentation and download Google Mock. Be warned, though: mocking is addictive, so proceed at your own risk.

And... we'd love to hear from you! If you have any questions or feedback, please meet us on the Google Mock Discussion Group. Happy mocking!
[NFGB] Link - from Google Testing Blog
Related From Google Blogs:
Google Chrome (BETA)
More Adventures from SciPy: Jenny Qing Qian
Get your Gmail stickers
Gmail on your Google Desktop

No comments: