Unlike Java or other languages where reflection / introspection is available, mocking is not easy with C++. Even with Google Mock, we need some hand writing.
I solved this problem by using home made class declaration parser/generator that reads the class declaration (header file), then generates a mock class.
What you need is to run the generator and full featured mock class is there for your unittest.
----
How to use:
You need Ruby.
Acceptance/regression testing framework based on full screen automation (via terminal emulation) with integrated unit testing engine (standard Ruby test/unit).
Moved to: https://github.com/tsc-collection/tsc-act
Now part of GitHub's TSC Collection available at https://github.com/tsc-collection
FORTRAN UnitTest Framework, written in FORTRAN 95. So that all FORTRAN features can be tested. FRUIT has assertion, fixture, setup, teardown, report, spec, driver generation. Rake used as build tool. Tutorials at http://fortranxunit.wiki.sourceforge.net
The core testing part is in FORTRAN, this part can be used independent of the Ruby codes.
Simple, easy-to-use, efficient testing library, for C, C++, Java, .NET, Python and Ruby. Combining high discoverability and low coupling, xTests is a lightweight solution designed for use in verifying other libraries.
Deploy in 115+ regions with the modern database for every enterprise.
MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
A picture's worth a 1000 tests. Unit testing asserts can be difficult to use. Approval tests simplify this by taking a snapshot of the results, and confirming that they have not changed. Get more info @ http://approvaltests.sourceforge.net.
RyC Unit Testing is a simple set of Ruby scripts designed to facilitate the use of Unit Testing with the C programming Language. It does all the hard work for you so you can focus on refining your code.