Ada | C/C++ | HTML | Java | Javascript | .NET | Perl | PHP | Python | Ruby | SQL | Tcl | XML | Others

C/C++ unit testing tools (39 found)


API Sanity AutoTest

Description:

An automatic generator of basic unit tests for a shared C/C++ library. It helps to quickly generate simple ("sanity" or "shallow"-quality) test cases for every function in an API using their signatures, data type definitions and relationships between functions straight from the header files ("Header-Driven Generation").

Requirement:

GNU/Linux, Unix, FreeBSD, Haiku


BMOCK

Description:

BMOCK is a C++ library supporting Mock Objects. It Lets you create mocks for C functions and member functions - including constructors and destructors. It Supports dynamic mocking: In each test you can decide whether a function should be mocked, or execute its production code. Supports strict and non strict mocks (mocks ordering). It Supports IN, OUT and IN_OUT arguments as well as as special treatment for raw memory.

Requirement:

Windows


Boost

Description:

The Boost Test Library provides a matched set of components for writing test programs, organizing tests in to simple test cases and test suites, and controlling their runtime execution.

Requirement:


bullshtml

Description:

Html Reporter for BullseyeCoverage tool. BullseyeCoverage(www.bullseye.com) for C/C++ test coverage measurement is powerful to work with from very limited embedded systems to enterprise level applications. However, there is a lack of HTML reporting features. BullsHtml uses base bullseye coverage CLI commands to get the coverage result and generates it as HTML format similar to Cobertura (a Java test coverage tool).

Requirement:

Any


C Unit Test System

Description:

CUT is a simple, to-the-point unit testing system. It's different from other unit test packages in that it follows the KISS principle. It's designed for C testing, not designed to emulate SUnit.

Requirement:

OS Independent


cfix

Description:

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).

Requirement:

Windows


Cgreen

Description:

Cgreen is a pure C unit tester with mocks. Features are: composite test suites, each test runs in its own process, setup() and teardown(), reporting can be easily changed, and the ability to create mock functions.

Requirement:

Linux, MacOS


Check

Description:

Check is a unit test 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.

Requirement:

POSIX


CMock

Description:

CMock is a module/object mocking framework for interaction-based unit testing in C projects. CMock itself is a set of Ruby scripts that generate mock module source code in C from C header files. CMock is most useful for testing when used in concert with a unit test framework such as Unity.

Requirement:

Any platform supporting Ruby and C


CppTest

Description:

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 are supported and new ones are easily added.

Requirement:

OS Independent


CppUnit

Description:

CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML or text format for automatic testing and GUI based for supervised tests.

Requirement:

BeOS, MacOS, Windows, OS Independent, Linux


CPUnit

Description:

CPUnit is a unit test framework for C++ applications and programs. It is very much inspired by the elegance of JUnit, althoug, since C++ is a language quite different from Java, both the implementation and the way tests are written differ. (For instance, tests in CPUnit are never encapsulated in a class, but rather a namespace). The similarity is in the ease of use, the minimality of coding required to write good tests and user friendly command line options for test execution.

Requirement:

Portable


CU

Description:

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.

Requirement:

Unix


CUnit

Description:

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.

Requirement:

OS Independent (Written in an interpreted language)


CUnitWin32

Description:

Macro based, lean C/C++ unit testing framework for the Win32 platform. Each test is executed as a separate process providing a completely isolated environment (think static variables).

Requirement:

Windows


CUnitWin32

Description:

CUnitWin32 is a C/C++ unit testing framework for Microsoft Windows. It's a minimalistic system that with truly independent tests (e.g. global/static variables are initialised between tests).

Requirement:

Windows


cutee

Description:

C++ unit testing environment that makes it really easy to create and run tests of a library or application. It will automatically generate Makefiles, runner classes (classes that execute test functions), and main test application code. It will also automatically update Makefiles and support classes whenever you add new test functions or modify old ones.

Requirement:

UNIX


CUTest

Description:

CuTest is a unit testing library for the C language.

Requirement:


CxxTest

Description:

CxxTest is a JUnit/CppUnit/xUnit-like framework for C++. Its advantages over existing alternatives are that it doesn't require RTTI, doesn't require member template functions, doesn't require exception handling, doesn't require any external libraries (including memory management, file/console I/O, graphics libraries) and is distributed entirely as a set of header files. This makes it extremely portable and usable.

Requirement:

OS Independent (Written in an interpreted language)


Embedded Unit

Description:

Unit testing framework for Embedded C System. Its design was copied from JUnit and CUnit and more, and then adapted somewhat for Embedded C System.

Requirement:

OS Independent


GUNit

Description:

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

Requirement:

Linux


Hippo Mocks

Description:

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.

Requirement:

GCC/MSVC/Comeau


LibU

Description:

LibU is a multiplatform C utility library that contains a module for Unit testing of C/C++ programs. The u_test module supports explicit test suite/case dependency; parallel execution and sandboxing of test cases; xml, txt and custom output format for reporting.

Requirement:

GNU/Linux *BSD QNX Solaris Windows (Cygwin/MinGW)


MIN Test Framework

Description:

MIN is an advanced unit/integration test framework for Linux/Maemo based devices. MIN can be integrated with standard toolchain in Linux (make). It makes testing easy, efficient and what is most important: rapid.

Requirement:

Linux/Maemo i386/ARM


Moxy

Description:

Moxy generates mock objects on the fly from C++ header files. Mock objects allow interaction-based unit testing and can improve object decoupling.

Requirement:

Most any platform with Python and a C++ compiler


ObjcUnit

Description:

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. It also has support for mock objects, adapted from the Java Mock Objects framework.

Requirement:

Mac OS X


OCUnit

Description:

OCUnit is a testing framework for Objective C in the Mac OS X, GNUSTEP and other environments. It is based on the original SUnit framework of Kent Beck, but also include a JUnit like API. Test suites are automatically created at runtime. On Mac OS X it provides full integration with the XCode IDE: tests can be run after each compilation and failures and errors are reported in the build panel.

Requirement:

Mac OS X, GNUstep, OPENSTEP or WebObjects 4


QtUnit

Description:

QtUnit is a unit testing framework for C++ which compiles into a shared library. It uses the Qt library for platform independence. Tests can be compiled into modules which are automatically reloaded after modification. The text and graphical testrunners are fully localized and integrate perfectly into IDEs for the display of the exact source location where failures occurred.

Requirement:

Qt 3.0


RCUnit

Description:

RCUNIT stands for Robust C Unit. It is a small framework for testing C programs. Similar to other unit testing frameworks, RCUNIT is a framework used for creating repeatable tests.

Requirement:

OS independent


simplectest

Description:

Aims to be a simple but effective testing framework for C and C++ projects, without having too much overhead.

Requirement:

Cygwin (MS Windows), OS Portable


Splint

Description:

Splint is a tool for statically checking C programs for coding errors and security vulnerabilities. If effort is invested adding annotations to programs, Splint can perform stronger checking than is possible with traditional lints.

Requirement:

Win32, Solaris, Linux, FreeBSD


Test soon

Description:

"Test soon" is a testing framework trying to enable you to write tests quickly, organize them easily and still being flexible. Tests can be grouped automatically by file name and in nested groups.

Requirement:

OS Independent


TestKit

Description:

Testing framework for Mac OS X and the Objective-C language. Includes testing framework, developer tool integration, easy test organization and packaging, GUI Test Runner, and a command-line version for test automation. Modelled after JUnit, but targets the specific needs of the OS X developer in the Cocoa environment.

Requirement:

MacOS X


Turtle

Description:

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

Requirement:

any


TUT

Description:

TUT simplifies tests organization and provides basic framework to run them. All developers have to do is to fill tests bodies with the actual test code.

Requirement:

C++


Unit--

Description:

A light-weight C++ unit test framework that uses templates and macros. No perl, etc. Supports custom output message formats to make your IDE or editor happy.

Requirement:

Any C++ compiler


UnitTest

Description:

UnitTest was developed on the principle of keeping things simple as possible.To that point, the source code testing framework was made to allow the developer to easily write white/grey-box unit test cases. To make life easier, I also created a utility that generates unit test class source code. The entire project is really tiny and is designed to build and run out of the box! You should be able to get going within 5 mins. I have also provided two sample projects for you to play with in the package.

Requirement:

Windows


UnitTest++

Description:

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.

Requirement:

Win32, Linux, Mac OS X


Unity

Description:

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.

Requirement:

Most any platform with a C compiler


For those projects hosted on SourceForge, the project activity data is updated weekly using live newsfeeds powered by CaRP