Unit Testing and Mocking Tools: C/C++, Java, JavaScript, .NET, PHP, Python, Ruby, Flex


C and C++ Unit Tests Tools


Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications.


Cantata++ is designed as a software testing tool for use mainly with C, C++, but with some useful functionality for Java. It combines the ability to generate test scripts with test coverage analysis.


cfix is an xUnit testing framework for C/C++, specialized for Win32 (32/64 bit). cfix requires only little effort to author unit tests, which are compiled and linked into a DLL. The testrunner application provided by cfix allows selectively running tests of one or more of such test-DLLs. Execution and behaviour in case of failing testcases can be highly customized. Moreover, cfix has been designed to work well in conjunction with the Windows Debuggers (Visual Studio, WinDBG). Licensed under the GNU Public License 3.0.


cfix is an xUnit testing framework for C/C++, specialized for unmanaged Windows development (32/64 bit). cfix supports development of both user and kernel mode unit tests.


Cgreen is a unit tester for the C software developer. This is a test automation and software quality assurance tool for development teams. The tool is completely open source published under the LGPL


Check is a unit testing framework for C. It features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate address space, so Check can catch both assertion failures and code errors that cause segmentation faults or other signals. The output from unit tests can be used within source code editors and IDEs.


CMock is a module/object mocking framework for C projects. It generates dummy modules that conform to the interface specified in a header file. This allows APIs to be proven out and exercised before committing to an underlying implementation.


CppTest is a portable and powerful, yet simple, unit testing framework for handling automated tests in C++. The focus lies on usability and extendability. Several output formats, including simple text output, compiler-like output and HTML, are supported and new ones are easily added.


CppUnit is a C++ unit testing framework. It started its life as a port of JUnit.


CU is simple and portable unit testing framework for handling automated tests in C. CU features a simple interface for defining unit tests and run regression tests.


CUnit is a lightweight system for writing, administering, and running unit tests in C. It provides C programmers a basic testing functionality with a flexible variety of user interfaces. CUnit is built as a static library which is linked with the user's testing code. It uses a simple framework for building test structures, and provides a rich set of assertions for testing common data types.$


cutee is the acronym of C++ Unit Testing Easy Environment and it's a tool to handle unit testing.


CuTest is a unit testing library for the C language.


CxxTest is a JUnit/CppUnit/xUnit-like framework for C++.

Embedded Unit

Embedded Unit is unit testing framework for Embedded C System. It's design was copied from JUnit and CUnit and more, and then adapted somewhat for Embedded C System. Embedded Unit does not require std C libs. All objects are allocated to const area.


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's framework for writing C++ tests on a variety of platforms (Linux, Mac OS X, Windows, Cygwin, Windows CE, and Symbian). Based on the xUnit architecture. Supports automatic test discovery, a rich set of assertions, user-defined assertions, death tests, fatal and non-fatal failures, value- and type-parameterized tests, various options for running the tests, and XML test report generation.


GUnit is a C unit testing framework in the spirit of JUnit. The framework incorporates an easy to use GUI based on the GTK+ libraries.

Hippo Mocks

Hippo Mocks is a very intuitive mocking framework that "just works". The design goals are to have the least amount of complexity in setting up, the least amount of surplus code to maintain, the most readable unit tests and the most portable way to do all of those.


Igloo is a unit testing framework for C++ that aims to: * stay out of your way and let you focus on what you want to test * help you create readable tests * have a syntax that doesn't make you repeat yourself while still looking like normal C++


ObjcUnit is a unit testing framework for Objective-C on Mac OS X. Its design was copied from JUnit, written by Erich Gamma and Kent Beck, and then adapted somewhat for Objective-C.


OCUnit is a testing framework for Objective C in the Mac OS X, Mac OS X Server, GNUSTEP, YellowBox/Cocoa and WebObjects/Objective C environments.

PolySpace Verifier

PolySpace Verifier enables embedded software developers to detect run-time errors in C, C++ and Ada before they compile and run the code and prove automatically which operations are error-free.


QtUnit is a unit testing framework for c++, originally based on CppUnit 1.5 written by Michael Feathers. All code has been refactored and ported to exclusively use Qt 3.x as it base library. This makes it highly portable to all the platforms supported by Qt, without compromising on the advanced features that are currently expected from modern software.


RCUNIT is a robust C unit testing framework. Requiring only an ANSI compliant C compiler, RCUNIT is a highly portable unit testing tool.


Reactive Systems offers the Reactis testing and validation package for Simulink and Stateflow models. Reactis Tester generates comprehensive yet compact test suites from models.

Test soon

"Test soon" is a testing framework trying to enable you to write tests quickly, organize them easily and still being flexible.The goal is to utilize the strengths of C++ while minimizing the impact of its weaknesses.


Turtle is a C++ mock object library based on Boost with a focus on usability, simplicity and flexibility.


TUT is a small and portable unit test framework for C++.


With Isolator++ technology, all these C/C++ unit testing issues go away. Isolator++ can simulate any dependency, by observing the running code, and diverting function calls to automatically generated mocks.


UnitTest++ is a unit testing framework for C++ designed for simplicity and portability. Features include no explicit test registration, good crash handling, fixtures, rich condition-checking functionality, minimal footprint for embedded environments.


UnitTest++ is a unit testing framework for C++ designed for simplicity and portability. Features include no explicit test registration, good crash handling, fixtures, rich condition-checking functionality, minimal footprint for embedded environments.


Unity is a lightweight xUnit-style unit test framework for C. It was developed for resource constrained environments and includes a number of features helpful for embedded development. Unity has been used successfully in a range of projects from very small embedded systems to desktop software.


UquoniTest is an advanced unit testing library for C++, that provides many features that other unit testing frameworks don't have.


VectorCAST/C++ is an integrated software test solution that significantly reduces the time, effort, and cost associated with testing C/C++ software components necessary for validating safety- and mission-critical embedded systems.

York Extensible Testing Infrastructure (YETI)

YETI is an automated random testing tool for Java, JML, .NET, C, command-line programs. It is freely available under BSD license.